0

私が持っているのは15のテキストフィールドであるため、1つのViewControllerに設定することはできません。スクロールビューに15個のテキストフィールドを追加しました。ただし、画面から指を離すとスクロールビューが上がります。

下にスクロールしたときに下に固執する方法はありますか?

4

4 に答える 4

2

あなたのViewWillApearセットであなたのUIScrollview contentSizeように:-

-(void)viewWillAppear:(BOOL)animated
{

     srcScrollView.contentSize = CGSizeMake(320, 500);
    [super viewWillAppear:YES];
}

そしてあなたのTextFiledデリゲートは次のようになります:-

-(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;
}
于 2013-03-05T07:50:15.963 に答える
0

contentSizescrollViewのを正しく設定する必要があります。あなたの場合、コンテンツの高さを次のように設定する必要があります。

lastTextField.frame.origin.y + lastTextField.frame.size.height + 10

ここで、10は必要な下マージンです。

于 2013-03-05T07:50:28.813 に答える
0

以下は問題を解決しました...

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    [self.scrollView setContentSize:CGSizeMake(320, 1200)];
}
于 2013-03-05T07:55:14.533 に答える
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];
于 2013-03-05T08:46:29.313 に答える