如何在编辑文本视图时禁用滚动?

时间:2012-11-09 11:06:07

标签: objective-c ios xcode uiscrollview uitextview

我有一个UIScrollView,我在中间有一个小UITextView,底部有一个Button。 当我按下按钮时,我想编辑UItextView,然后滚动到顶部。问题是,当我按下按钮时,UITextView在代码中被编辑,然后它会自动滚动到这个UITextView的开始,并忽略我滚动到顶部的代码行。

- (IBAction)SubmitForm:(id)sender {
    if ([Titre.text length] == 0 || [TypeIntervention.text length] == 0 || [Client.text length] == 0) {
      ErrorMsg.text = @"test";
      [self.Scroll setContentOffset:CGPointMake(self.Scroll.contentOffset.x, 0)animated:YES];
    }
    else {
      DoneMsg.text = @"test";
    }
}

1 个答案:

答案 0 :(得分:0)

实施 UITextView委托并使用UIScrollView的 scrollEnabled 属性

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{

    self.Scroll.scrollEnabled = NO;

    return YES;
}
- (void)textViewDidBeginEditing:(UITextView *)textView {

    self.Scroll.scrollEnabled = NO;

}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView{

    self.Scroll.scrollEnabled = YES;
    return YES;
}
- (void)textViewDidEndEditing:(UITextView *)textView{

    self.Scroll.scrollEnabled = YES;;
}