当我触摸键盘外部时 IOS 程序崩溃
Posted
技术标签:
【中文标题】当我触摸键盘外部时 IOS 程序崩溃【英文标题】:IOS program crashes when I touch outside of keypad 【发布时间】:2013-12-21 08:36:00 【问题描述】:当我触摸名为tv_Name
的文本字段时,它会调出小键盘,但当我触摸小键盘外时,程序会崩溃。
在ViewController.h
,我这样声明:
@property (weak, nonatomic) IBOutlet UITextField *tv_Name;
这是ViewController.m
中隐藏键盘的代码:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
[self.tv_Name resignFirstResponder];
上面的代码抛出异常:
**2013-12-21 13:09:36.027 HerdProfile[818:70b] -[HerdProfileViewController tv_Name:]:无法识别的选择器发送到实例 0x10901ce90 (lldb)**
【问题讨论】:
你能把你的代码详细贴一下吗? self.tv_Name.delegate = self; @nico,我是 ios 和目标 c 的新手,我应该把那段代码放在哪里? 你可以把它放在 viewdidload 方法中。所以去那里试试吧。 @nico,我解决了这个问题。这与将 .xib 标签连接到 .m 文件有关,然后我只删除了 .m 文件中的方法,而没有清除 .xib 文件中的引用。这是导致崩溃的原因。不过感谢您的帮助 【参考方案1】:以下对我来说似乎没问题。
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *tvNameTextField;
@end
@implementation ViewController
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
[self.tvNameTextField resignFirstResponder];
@end
您确定您的 UITextField 已正确连接到您的控制器吗?如果连接正确,您的@property 旁边应该有一个小圆点(请参阅屏幕截图)
【讨论】:
以上是关于当我触摸键盘外部时 IOS 程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
iOS 9 键盘:此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和奇怪的崩溃
Sencha touch/cordova 应用程序在 ios8 启动时随机崩溃