2012-08-30 25 views
0

如何在Cocoa中本地繪製高光和非4邊的邊框?可可本地繪製邊框和高光

一個例子是下面的圖片。頂部有一個小的1px白色內邊框,底部有一個灰色的1px內邊框。僅在視圖的頂部和底部也有一個深灰色邊框。

這可以在本地完成嗎?或者這是否需要圖像?

enter image description here

回答

3

一個快速的方法來得到一個內部邊界是從你想接壤的視圖中使用層的陰影屬性(注意是-1,這使邊框邊緣內):

myView.layer.shadowOpacity = 1.0; 
myView.layer.shadowColor = [UIColor blackColor].CGColor; 
myView.layer.shadowOffset = CGSizeMake(0, -1); 

否則,你也可以繼承的觀點,並把這樣的事情在您的drawRect:方法:

[super drawRect: rect]; 

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSaveGState(context); 
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor); 
CGContextSetLineWidth(context, 1.0); 

CGContextMoveToPoint(context, 0, 0); 

CGContextAddLineToPoint(context, self.bounds.size.width, 0); 
CGContextStrokePath(context);   

CGContextRestoreGState(context); 
+0

真棒,任何想法,我怎麼可能會做同樣的Mac嗎? – arooo

+0

不幸的是 - 我沒有做太多的Mac編程。 – thejav