0

我正在尝试以编程方式将渐变层添加到最初在 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 之后如何获取框架?

谢谢

4

1 回答 1

0

必须在 viewWillAppear 中添加这个

于 2013-01-24T16:13:27.610 回答