2014-03-05 54 views
0

我期待創建一個可以調整用戶與視圖交互方式的縮放比例 - 放大/縮小。我的觀點固定在我看法的頂端。我只想調整此視圖的寬度,例如在用戶放大時擴大水平視圖,反之亦然。該視圖本身包含4個額外的UIView,分別表示左右刻度,中心刻度和連接所有基本類似的水平視圖:動態調整UIView在另一個UIView內的大小

| ------ | ------ |

我的縮放視圖是包含其他4個視圖的容器。我很好奇,如果我應該使用自動佈局,以便視圖根據包含這些其他視圖的視圖框架進行調整?還是有另一種方法?使用CALayer繪製出來並使用變換?

回答

0

我個人可能會使用autoresizingMasks,它們往往對我來說是非常一致的,至少在以編程方式分配時。 InterfaceBuilder是另一個故事。

topView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

基本上,這意味着該底部邊緣(從頂視圖到它的父視圖的底部的底部)是柔性的和冠捷的寬度也具有柔性。所有其他利潤將保持不變。因此,無論父視圖的大小如何,topView左邊的父視圖的左邊總是相同的。與右側相同,topView將適當延伸以保持這些邊距,因爲它被授予寬度靈活的權利。

可能有其他方法可以做到這一點,但希望這有助於給你一些想法。

+0

是的,我關閉了IB中的自動佈局,並且正在調整大小的蒙版,似乎按照我的意圖工作。 – kschins

0

我想說這裏的問題是「四個UIViews」。

相反,要一個的UIView:一個知道如何將自己繪製爲標尺測量顯示,基於實際數字漿紗自己的圖紙視圖(應該是多長時間在100%,我們多遠放大或出)。

然後每次發生縮放時都會重繪(通過滾動視圖委託方法很容易檢測到)。

您原本可能使用過「四個UIViews」,因爲您不知道如何實時繪製。但對於iOS編程而言,這是非常重要的,所以請繼續學習如何做到這一點,您將會更加快樂。

+0

http://www.apeth.com/iOSBook/ch15.html – matt

+0

我的字面意思是輸入一個評論,詢問當你的鏈接加載時繪製更多的信息! – Logan

+0

我可以在大約一分半的時間內編寫自繪「縮放」小部件的代碼,例如您所描述的。這意味着它不會非常困難! :)不要害怕經常重畫自己的觀點;這種在iOS上的繪圖速度非常快。 – matt