如何在滚动视图中重置TextFields

时间:2014-06-28 22:39:23

标签: ios uiscrollview uitextfield

通过非常耐心的用户提供的一些非常好的帮助,我设法让我的重置按钮使用以下代码:

- (IBAction)resetAction:(id)sender {

    for (UIView *view in [self.view subviews]) {
        if ([view isKindOfClass:[UITextField class]]) {
            UITextField *textField = (UITextField *)view;
            textField.text = @"";
        }

    }

我现在遇到的问题是,这不会在滚动视图中重置文本字段。任何帮助将不胜感激!我非常接近完成这个!!!!

非常感谢

2 个答案:

答案 0 :(得分:0)

如果文本字段嵌入滚动视图中,则需要迭代滚动视图的子视图,即

for (UIView *view in [self.scrollView subviews])

答案 1 :(得分:0)

您可以递归调用该方法:

- (void)resetTextfieldsInView:(UIView*)view {

    for (UIView *v in [view subviews]) {
        if ([v isKindOfClass:[UITextField class]]) {
            UITextField *textField = (UITextField *)v;
            textField.text = @"";
        }else if ([v isKindOfClass:[UITextView class]]) {
            UITextView *textView = (UITextView *)v;
            textView.text = @"";
        }else{
            [self resetTextfieldsInView:v];
        }
    }
}

- (IBAction)resetAction:(id)sender {
    [self resetTextfieldsInView:self.view];
}