我需要动态地将文本字段添加到scrollview。我能够做到这一点,添加后我每次都计算并更新scrollview的内容大小。
更新内容大小后,我可以在屏幕上查看,一旦我编辑文本字段(键盘消失),我的内容大小将重置为原始值。我错过了什么吗?滚动视图是通过xib创建的。
答案 0 :(得分:0)
您可以跟踪上一个textFiled的y位置。
现在在将所有textField添加到ScrollView后使用下面的行。
[scrollView setContentSize:CGSizeMake(320, yPos)];
并为键盘问题用户提供以下代码。
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
[scrollView setContentSize:CGSizeMake(320, yPos)];
return YES;
}
希望这会对你有所帮助。
一切顺利!!!
答案 1 :(得分:0)
- (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;
}
答案 2 :(得分:0)
在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;
}