iphone:从纵向转换为横向后重新调整渐变尺寸

时间:2010-05-09 11:31:23

标签: iphone gradient

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)的每个排列都没有成功。

这并不困难。我缺乏理解使其变得困难。在那里的任何人“去过那里,做过那个”?

1 个答案:

答案 0 :(得分:0)

图层是否会自动调整其大小?如果是这样,简单

[blueGradient setNeedsDisplay];

应该做的伎俩。

希望这有用, 保罗