4.2 圖層邊框

2018-02-24 14:50 更新

圖層邊框

??&nbp;?CALayer另外兩個(gè)非常有用屬性就是borderWidthborderColor。二者共同定義了圖層邊的繪制樣式。這條線(也被稱作stroke)沿著圖層的bounds繪制,同時(shí)也包含圖層的角。

??&nbp;?borderWidth是以點(diǎn)為單位的定義邊框粗細(xì)的浮點(diǎn)數(shù),默認(rèn)為0.borderColor定義了邊框的顏色,默認(rèn)為黑色。

??&nbp;?borderColor是CGColorRef類型,而不是UIColor,所以它不是Cocoa的內(nèi)置對(duì)象。不過呢,你肯定也清楚圖層引用了borderColor,雖然屬性聲明并不能證明這一點(diǎn)。CGColorRef在引用/釋放時(shí)候的行為表現(xiàn)得與NSObject極其相似。但是Objective-C語(yǔ)法并不支持這一做法,所以CGColorRef屬性即便是強(qiáng)引用也只能通過assign關(guān)鍵字來(lái)聲明。

??&nbp;?邊框是繪制在圖層邊界里面的,而且在所有子內(nèi)容之前,也在子圖層之前。如果我們?cè)谥暗氖纠校ㄇ鍐?.2)加入圖層的邊框,你就能看到到底是怎么一回事了(如圖4.3).

清單4.2 加上邊框

@implementation ViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  //set the corner radius on our layers
  self.layerView1.layer.cornerRadius = 20.0f;
  self.layerView2.layer.cornerRadius = 20.0f;

  //add a border to our layers
  self.layerView1.layer.borderWidth = 5.0f;
  self.layerView2.layer.borderWidth = 5.0f;

  //enable clipping on the second layer
  self.layerView2.layer.masksToBounds = YES;
}

@end

圖4.4 邊框是跟隨圖層的邊界變化的,而不是圖層里面的內(nèi)容

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)