我所拥有的是15个文本字段,因此我无法在一个ViewController中设置它们。我在scrollview中添加了15个文本字段。但滚动视图会在手指从屏幕上移开时亮起。
任何想法如何在向下滚动时坚持下来?
答案 0 :(得分:2)
在您的ViewWillApear
设置您的UIScrollview
contentSize
,如: -
-(void)viewWillAppear:(BOOL)animated
{
srcScrollView.contentSize = CGSizeMake(320, 500);
[super viewWillAppear:YES];
}
和您的TextField委托代码如下: -
-(void)textFieldDidBeginEditing:(FMTextField *)textField
{
[srcScrollView setContentOffset:CGPointMake(0,textField.center.y-140) animated:YES];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
[srcScrollView setContentOffset:CGPointMake(0,0) animated:YES];
return YES;
}
答案 1 :(得分:0)
您必须正确设置scrollView的contentSize
。在您的情况下,您只需将内容高度设置为:
lastTextField.frame.origin.y + lastTextField.frame.size.height + 10
其中10是您想要的底部边距。
答案 2 :(得分:0)
下面解决了问题...
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
[self.scrollView setContentSize:CGSizeMake(320, 1200)];
}
答案 3 :(得分:0)
您的contentSize似乎不足以显示整个内容。将contensize设置为以下
//Assuming you have a reference to the 15th textField
CGRect textField15Frame = self.textField15.frame;
CGSize contentSize = self.scrollView.contentSize;
contentSize.height = textField15Frame.origin.y+textField15.size.height+5.0f;
[self.scrollView setContentSize:contentSize];