【问题标题】:How to dismiss keyboard from childViewController which is in containerView in parentViewController?如何从 parentViewController 的 containerView 中的 childViewController 关闭键盘?
【发布时间】:2014-06-03 12:49:53
【问题描述】:

当我从 childView 中单击 UITextField 时,我需要关闭显示自身的键盘。我需要在 parentViewController 中的方法 (scrollViewWillBeginEditing) 中执行此操作。我该怎么做?

编辑:

我在 childViewController 中有方法:

- (void)dismissKeyboard {
    [self.textField resignFirstResponder];
    NSLog(@"%@", self.textField.text);
}

childViewController的.h:

@protocol VVInformationTableViewControllerDelegate<NSObject, UIScrollViewDelegate>
-(void)dismissKeyboard;
@end

@interface VVInformationTableViewController : UITableViewController <UITextFieldDelegate, UITableViewDelegate, UIScrollViewDelegate, VVInformationTableViewControllerDelegate>

@property (weak, nonatomic) id<VVInformationTableViewControllerDelegate> delegate;

我尝试调用它:

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
        [self.infoTableController dismissKeyboard];    
}

当它被调用时,NSLog 打印 (null) 并且键盘没有关闭,但是当我从 childViewController 调用dismissKeyboard 时,它会打印真实值和键盘关闭。

有什么帮助吗?

【问题讨论】:

    标签: ios childviewcontroller parentviewcontroller


    【解决方案1】:

    您可以使用以下代码

     [self.childView endEditing:Yes];
    

    【讨论】:

    • 然后我有错误:没有可见的@interface childView 声明选择器'endEditing'。我尝试使用所有委托和协议的东西调用在 childViewController 中实现的方法dismissKeyboard,但它也没有工作。
    • 这里childView表示你的子视图控制器类的对象,或者你可以使用[self.view endEditing:Yes];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多