【问题标题】:iOS keyboard issue - Keyboard not closed when click Done or when click update buttoniOS 键盘问题 - 单击完成或单击更新按钮时键盘未关闭
【发布时间】:2016-01-20 11:39:21
【问题描述】:

我正在为使用 Xcode 7.2 制作的 iOS 应用程序构建一个 .api 文件,我的页面中有两个字段 - 电子邮件和电话。当我尝试在文本字段中编辑电子邮件或电话时,会出现键盘。

隐藏键盘的句柄

  1. 键盘完成按钮
  2. 更新按钮
  3. 在 UIControl 上添加的文本字段,处理 TouchDown 事件。

使用代码[self.view endEditing:TRUE];,但无法隐藏键盘。

问题仅在构建 .api 文件并启动时出现。如果我调试相同版本的代码,它可以正常工作 - 单击完成或单击视图时隐藏键盘。

欢迎任何帮助..

谢谢!

【问题讨论】:

  • 确保代表附加到这些文本字段...
  • 1) CODELESS,零代码行。 2) 自动工作 3) 不再有 UIScrollView 4) 不再有子类 5) 不再需要手动工作 6) 不再有 #imports codeproject.com/Tips/846002/Codeless-IQKeyboardManager-for-iOS
  • 是的.. 为文本字段添加了代表.. 当我从 xcode 调试时它的工作原理但是当我构建 .ipa 时出现问题.. @Fahim Parkar
  • 感谢您的示例,它很好.. 但它不能解决我的问题.. @iOSDeveloper
  • ipa 在 iphone 上运行没有问题吗? @Prasath

标签: ios objective-c keyboard xcode7.2 ios9.2


【解决方案1】:

实现委托方法

- (void)viewDidLoad 
{
[super viewDidLoad];
self.yourIBtextField.delegate = self;
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{
[textField resignFirstResponder];
return NO;
}

【讨论】:

    【解决方案2】:

    键盘问题 - 因为 ViewController 中的 UIControl..

    在 UIControl 和 Email 下添加了整个 UI,在滚动视图下添加了电话文本字段(TPKeyboardAvoidingScrollView), 在 UIControl OnTouchdown 动作键盘隐藏处理..

    现在删除了 UIControl 出口、动作和 UI 中的类。 使用触摸手势处理隐藏的键盘..

    现在键盘在所有情况下都隐藏了..它工作正常,在构建 ipa 或调试时..

    问题解决了..

    【讨论】:

      【解决方案3】:
      1. 对于键盘完成按钮:实现委托方法

        - (void) textFieldShouldReturn:(UITextField)textField
        {
            [self.emailTF resignFirstResponder];
            [self.phoneTF resignFirstResponder];
        
        }
        
      2. 对于更新按钮:实现方法

        - (void)updateButtonClick:(UIButton *)button
        {
        
           /the code you want to write.../
        
           [self.emailTF resignFirstResponder];
           [self.phoneTF resignFirstResponder];
        
        }
        
      3. 触摸self.view返回keyBoard:实现方法

        - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
        {
        
           [self.emailTF resignFirstResponder];
           [self.phoneTF resignFirstResponder];  
        
        }
        

      希望这个答案可以帮助你:)

      【讨论】:

        猜你喜欢
        • 2011-09-15
        • 2015-09-13
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 2012-03-17
        • 1970-01-01
        • 2015-03-13
        • 2018-01-23
        相关资源
        最近更新 更多