iphone:从纵向到横向

问题描述:

移后的再上浆梯度在viewDidLoad中,我可以创建一个梯度没有问题:iphone:从纵向到横向

CAGradientLayer *blueGradient = [[CAGradientLayer layer] retain]; blueGradient.frame = CGRectMake(gradientStartX,gradientStartY,gradientWidth,gradientHeight);

其中gradientWith被设备定义为320或1024作为适当。

我不能做的是调整它的大小willRotateToInterfaceOrientation: - 因此在用户切换到横向模式之后摆脱右侧的空白空间。 (导航栏和标签栏的行为很好)

(1)根据新的中点重新校准梯度的新维度,(2)使用kCALayerMaxXMargin,(3)使用边界看起来好像他们会做工作。边界看起来更直观,所以我尝试了这一点。

我不想承认我已经取得了零进展。

我会说我已经成功地尝试了自我,视图,图层,边界,蓝色渐变和CGRect(gradientStartX,gradientStartY,newGradientWidth,newGradientHeight)的每一个排列的蛮力方法。

这并不难。我缺乏理解让它变得困难。有人在那里“在那里,做到了”?

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

[blueGradient setNeedsDisplay]; 

应该做的伎俩。

希望这是有帮助的, 保罗

+0

并设置通过或者使用调整大小“弹簧和支柱”的说法在IB,或将意见contentMode属性。 – 2010-05-09 12:03:06

+0

保罗 - 没有,没有IB。我没有对contentMode做任何事情。正如我们在池塘这边说的那样,“普通香草”。 Pawel - [blueGradient setNeedsDisplay]结果为“blueGradient undeclared” Both - 哇,快速回复!谢谢。 – 2010-05-09 12:27:38

+1

blueGradient是对渐变图层的引用 - 当旋转完成时,您需要保留以便调用它。 – Pawel 2010-05-09 12:39:10