如何使用scrollview在一个viewcontroller中设置15个文本字段

时间:2013-03-05 07:43:45

标签: iphone ios ios6 uiscrollview

我所拥有的是15个文本字段,因此我无法在一个ViewController中设置它们。我在scrollview中添加了15个文本字段。但滚动视图会在手指从屏幕上移开时亮起。

任何想法如何在向下滚动时坚持下来?

4 个答案:

答案 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];