2010-05-09 152 views
1

移後的再上漿梯度在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)的每一個排列的蠻力方法。

這並不難。我缺乏理解讓它變得困難。有人在那裏「在那裏,做到了」?

回答

0

圖層是否自動調整大小?如果是這樣,簡單

[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

相關問題