如果我明白你的問題,你不想嵌套滾動。 因此設置yourTextView.scrollEnabled = NO; //編程我們做它在筆尖
另外爲了顯示所有文本設置yourTextView框架高度與其內容高度:
yourTextView.frame = CGRectMake(yourTextView.frame.origin.x,
yourTextView.frame.origin.y,
yourTextView.frame.size.width,
yourTextView.contentSize.height + (yourTextView.contentSize.width > yourTextView.frame.size.width ? (yourTextView.contentSize.width * yourTextView.contentSize.height/(yourTextView.contentSize.width - yourTextView.frame.size.width)) - yourTextView.contentSize.height :0)));
/*
If textView is dynamically filled, you have to check if yourTextView.contentSize.width is bigger than yourTextView.frame.size.width then add proportionally what is remaining to the height.
*/
在結束更改按鈕的位置,如果需要:
yourbutton.frame = CGRectMake(yourbutton.frame.origin.x,
yourTextView.frame.origin.y + yourTextView.frame.size.height + 20, //If you want your button to be 20 point after your textView
yourbutton.frame.size.width,
yourbutton.frame.size.height);
希望能幫到你...
我正在使用帶有10個不同的UIViewControllers的Tab Controller App。所有10個都有一個超級視圖,它爲每件事提供實例方法,這些方法基於我在每個IO中爲IB設置的標籤ID。我的最終目標是製作超長可滾動UIView(帶有圖像,文本和按鈕)對於每個UIViewController以及要在IB內設置的UIView的內容。我可能無法避免它,但我想避免以編程方式設置每個UIView的內容 –
好吧,如果你想要實現這種液體佈局,你需要以編程方式進行,除非你可以使用UIWebView和HTML/CSS爲您的內容。恐怕你必須使用我的答案並使用我上面描述的方法以編程方式調整佈局,從具有可變高度的第一個元素開始。 – ashack
剛剛有另一個想法(基於StackOverflow的另一位讀者......如何在項目中嵌入樣式化文本文件並將其加載到UIView中......可以在一個位置完成所有操作,即我的超級視圖viewDidLoad,因爲我的UIView的-viewDidLoad只是在它調用我的超級視圖的-viewDidLoad之前做了一件事,並且一件事是以NSString的形式分配一個唯一的viewControllerID * –