0
我正在嘗試以編程方式將漸變圖層添加到最初在Interface Builder中創建的UIButton中。我在ViewController的viewDidLoad方法中添加了新的漸變圖層。我在添加漸變中沒有問題。修改IB中創建的UIButton在iPhone 5上的尺寸不正確
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.btn.layer.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[[UIColor topGradient] CGColor],(id)[[UIColor bottomGradient] CGColor], nil];
[self.btn.layer insertSublayer:gradientLayer atIndex:0];
問題是:我從在IB中創建的按鈕獲取框架,這是在iPhone 4的屏幕尺寸佈局。所有的調整大小掩碼設置和正常工作,iPhone 5模擬器屏幕上的按鈕是正確的大小。
但是,應用的漸變只適用於按鈕,因爲它應用於原始幀。如何在應用了autoresizemasks之後獲取框架?
感謝
試試這個[gradientLayer SETFRAME:self.btn.bounds]。代替gradientLayer.frame = self.btn.layer.bounds; – CRDave
這給出了相同的界限 – tech74
當你做這個NSLog(@「%d%d」,btn.frame.size.width,btn.frame.size.height)時,你是否得到正確的幀? ? – CRDave