在 viewDidLoad 中,我可以创建一个没有问题的渐变:
CAGradientLayer *blueGradient = [[CAGradientLayer layer] retain];
blueGradient.frame = CGRectMake(gradientStartX,gradientStartY,gradientWidth,gradientHeight);
其中gradientWith根据需要设备定义为320或1024。
我不能做的是在 willRotateToInterfaceOrientation 中调整大小: - 从而在用户切换到横向模式后摆脱右侧的空黑色空间。 (导航栏和标签栏表现得很好。)
(1)根据新的中点重新校准渐变的新尺寸,(2)使用kCALayerMaxXMargin,以及(3)使用边界看起来他们都会做这项工作。边界看起来更直观,所以我尝试了。
我不想承认我没有取得任何进展。
我会说我已经沦为蛮力方法,尝试自我,视图,图层,边界,blueGradient和CGRect(gradientStartX,gradientStartY,newGradientWidth,newGradientHeight)的每个排列都没有成功。
这并不困难。我缺乏理解使其变得困难。在那里的任何人“去过那里,做过那个”?
答案 0 :(得分:0)
图层是否会自动调整其大小?如果是这样,简单
[blueGradient setNeedsDisplay];
应该做的伎俩。
希望这有用, 保罗