2012-05-14 52 views
3

我試圖創建一個簡單靈活的佈局:iOS的靈活佈局

my layout

我的應用程序有一個UITextView(紅色框),將在它的文字數量可變的。它下面是一個UIRoundedRectButton和一個UILabel

我已經得到了基於裏面內容的textview拉伸。我想知道如何實現靈活的佈局,如果textview裏面有很多內容,按鈕/標籤會自動微調。

回答

3
  1. 另一視圖內

    將所有的東西,並設置你的兩個橙色享有自動尺寸,使他們有靈活的頂部空間,並且上衝視圖,以便它具有靈活的底部邊緣。文字更改時調整容器視圖的大小,使其足以容納所有內容。

  2. 使整個事情成爲一個tableview與2個或更多不同類型的單元格。第一個單元格保存文本字段,其高度根據您的數據長度進行設置。較低的單元然後自動向下移動。如果您使用的是iOS 5+,使用靜態表格視圖和插口很容易實現。您可以關閉滾動,分隔線等,使其看起來像一個正常的屏幕內容。

+0

謝謝你 - 我已經嘗試實施你的第一個建議,但我似乎無法做到正確。這裏是我到達的屏幕截圖 - http://i.imgur.com/ujhWY.png我錯過了什麼? – boz

+0

就我個人而言,我已經去了2號!不知道那裏發生了什麼,它似乎已經遍佈各處。也許還要修正左右邊距,似乎已經走到了一邊。 – jrturton

+0

我已經玩了一些,我只是不能得到選項1的工作。我想我將不得不與2號一起去。謝謝你的指點。 – boz

0

其yourViewController委託方法viewWillAppear方法

強行把婁代碼過於簡單....

-(void)viewWillAppear:(BOOL)animated 
{ 
yourTextView.text=yourdata;//here your inserted data ie.. yourdata is string variable 

    yourTextView.frame = CGRectMake(yourTextView.frame.origin.x, yourTextView.frame.origin.y, yourTextView.frame.size.width, yourTextView.contentSize.height); 

float btnscreen = yourTextView.frame.origin.y + yourTextView.contentSize.height + 15; 

yourButton.frame=CGRectMake(yourButton.frame.origin.x, btnscreen, yourButton.frame.size.width, yourButton.frame.size.height); 

float lblscreen = yourButton.frame.origin.y + yourButton.frame.size.height + 10; 


yourLable.frame=CGRectMake(yourLable.frame.origin.x, lblscreen, yourLable.frame.size.width, yourLable.frame.size.height); 
} 

這裏,先在你.m文件創建後,在廈門國際銀行視圖使用此代碼..... 是的,如果你的控制器出界了,那麼請把UIScrollView放在你的滾動視圖中,然後使用這個代碼其工作正常... 希望這可以幫助你... :)