UIColor 在設定上除了簡單色域與透明度外,也可以設定成圖案樣式 Pattern,下面將示範使用 Pattern 的 UIColor 來設定 UITextView 與 CoreGraphics 所繪製的區域背景,其程式瑪如下。
UITextView
//製作一個使用Pattern的UIColor
UIColor *myPatternColorA = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Pattern_A.png"]];
//設定UITextView的背景
[theTextView setBackgroundColor:myPatternColorA];
CoreGraphics
//製作一個與畫面同大小的ImageView
UIImageView *drawView = [[UIImageView alloc]initWithFrame:self.view.frame];
//使用此ImageView的格式來建立畫布
UIGraphicsBeginImageContext(drawView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
//製作一個使用Pattern的UIColor
UIColor *myPatternColorB = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Pattern_B.png"]];
//設定繪製的顏色
CGContextSetFillColorWithColor(context, myPatternColorB.CGColor);
//六角形區域的路徑
CGContextMoveToPoint(context, 100.0, 100.0);
CGContextAddLineToPoint(context, 200.0, 100.0);
CGContextAddLineToPoint(context, 250.0, 200.0);
CGContextAddLineToPoint(context, 200.0, 300.0);
CGContextAddLineToPoint(context, 100.0, 300.0);
CGContextAddLineToPoint(context, 50.0, 200.0);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);
//設定ImageView影像為目前的畫布
drawView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//將ImageView顯示於畫面上
[self.view addSubview:drawView];
沒有留言:
張貼留言