我正在尝试以编程方式将渐变层添加到最初在 Interface Builder 中创建的 UIButton。我在 ViewController 的 viewDidLoad 方法中添加了新的渐变层。我在添加渐变方面没有问题。
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 之后如何获取框架?
谢谢