2013-10-08 53 views
0

我有一個UIView,讓我說previewBackgroundView框架(60, 154, 200, 200)。這是self.view的子視圖。在另一個視圖內顯示預覽

然後我有一個動態視圖,說dynamicView(0, 0, 260, 100)。它可以包含任意數目的子組件在裏面,像UIButtonUILabel

注意:該dynamicView可以是任意大小的。我通過dynamicView作爲方法中的一個參數。

當我將dynamicView作爲子視圖添加到previewBackgroundView時,它將跳出previewBackgroundView的界限。所以,我想調整dynamicView及其子女的大小,以便其位置以previewBackgroundView爲中心,dynamicView位於previewBackgroundView的範圍內。簡單地說,我必須展示dynamicViewpreviewBackgroundView中的預覽 - 不管dynamicView有多大。

我的第一次嘗試是設置clipsToBounds,它不適用於Xcode5,iOS7。我歡迎您就替代選項提出意見。

+0

將動態查看映射到'UIScrollview'。 –

+0

使用autolayout或spring和struts使視圖及其子視圖變得靈活,然後只需改變視圖視圖的大小,它將根據您指定的佈局約束來約束視圖。 – Sandeep

+0

'UIScrollView'?我不想放大/縮小'dynamicView'。 – iOS

回答

3

1)如果你的動態視圖大於你的previewBackgroundView,那麼你應該調整動態視圖的大小來保持高寬比。按照預覽BackgroundView的方式縮小比例。

可以使用大規模屬性相同象下面這樣:

self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1); 

或者

2)可以保持動態視圖與尺寸的視需要,並在滾動的動態視圖內容使用滾動視圖。

我建議你選擇第二個選項。

+0

男人。你用一行代碼解決了我的兩天頭痛。 – iOS

相關問題