如何在滚动视图中重置文本字段

Posted

技术标签:

【中文标题】如何在滚动视图中重置文本字段【英文标题】:How to reset TextFields in a Scroll View 【发布时间】:2014-06-28 22:39:23 【问题描述】:

通过一位非常有耐心的用户的出色帮助,我设法让我的重置按钮使用以下代码:

- (IBAction)resetAction:(id)sender 

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

    

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

非常感谢

【问题讨论】:

【参考方案1】:

您可以递归调用该方法:

- (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];

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于如何在滚动视图中重置文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在表格视图 IOS 内的滚动视图中创建文本字段

向上滚动时,Textview 重置为旧值

滚动到滚动视图/滚动视图中的特定文本字段 当键盘在屏幕上时停止滚动

Swift:当键盘出现时如何让视图控制器滚动到文本字段

多个文本字段的滚动视图不起作用

当我滚动表格视图时,文本字段中的数据设置为 null