我需要動態地將文本字段添加到滾動視圖。我能夠做到這一點,添加後我每次都會計算和更新滾動視圖的內容大小。UIScrollView contentSize被重置
更新內容大小後,我可以在屏幕上查看它,一旦我編輯文本字段(鍵盤消失),我將內容大小重置爲原始值。我在這裏錯過了什麼嗎?滾動視圖是通過xib創建的。
我需要動態地將文本字段添加到滾動視圖。我能夠做到這一點,添加後我每次都會計算和更新滾動視圖的內容大小。UIScrollView contentSize被重置
更新內容大小後,我可以在屏幕上查看它,一旦我編輯文本字段(鍵盤消失),我將內容大小重置爲原始值。我在這裏錯過了什麼嗎?滾動視圖是通過xib創建的。
您可以跟蹤上一次textFiled的y位置。
現在在將所有textField添加到ScrollView之後使用下面的行。
[scrollView setContentSize:CGSizeMake(320, yPos)];
和鍵盤發出用戶下面的代碼。
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
[scrollView setContentSize:CGSizeMake(320, yPos)];
return YES;
}
希望這會幫助你。
所有最好的!
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
self.scrollView.frame = CGRectMake(0, 0, 320, 240);// set height of self.scrollView.frame, as you need.
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self.txtFieldName resignFirstResponder];
.
,
.
self.scrollView.frame = CGRectMake(0, 0, 320, 460); // set height of self.scrollView.frame, as you need.
[self.scrollView setContentSize:CGSizeMake(320, 465)]; // set height of self.scrollView.ContentSize, as you need.
return YES;
}
請看這個示例http://tbf.me/a/9llOl。請在添加新字段之前以及添加新字段之前嘗試編輯字段 – user2169496 2013-03-18 10:20:12
在viewDidLoad
方法,
y = 500; // As you wish
scrMain.delegate = self;
scrMain.contentSize = CGSizeMake(320, y);
那麼,對於文本框進入
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
scrMain.contentSize = CGSizeMake(320, y + 50);
}
回車鍵後,
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
scrMain.contentSize = CGSizeMake(320, y);
return YES;
}
我確實在類變量中保留了新的內容大小,然後在鍵盤返回時將其重置。 這不幸與視圖切換代碼(當鍵盤出現時將視圖向上移動,以使文本字段變爲可見區域的代碼相符)。 僅僅調用[mScrollView setContentSize:mScrollContentSize];令我很多其他功能都感到不安。 我不明白爲什麼內容大小應該重置,當鍵盤出現並消失時。 我輸了! – user2169496 2013-03-18 08:38:29
只是想到會發布解決方案。這與自動佈局有關。取消選中自動佈局解決了一半問題,而Apple的鍵盤編程指南則固定了另一半。有一種想法我會提及(如果它有幫助),即使應用程序處於橫向模式,鍵盤大小始終以縱向模式返回。同樣,一旦自動佈局關閉,滾動的contentSize將在viewDidAppear方法中手動設置。 – user2169496 2013-03-20 06:02:40
即使應用處於橫向模式,鍵盤大小始終以縱向模式返回。 - >沒有得到這個。 – 2013-03-20 06:08:55
請告訴我問題,截圖和代碼會有所幫助。 – 2013-03-14 11:38:02
發佈您的代碼放置在文本中提交委託方法。 – Balu 2013-03-14 11:39:07