我创建了一个应用程序,我尝试利用Interface Builder中的新功能(Storyboard,GestureRecognizers等)。我首先选择Tabbed Application模板。然后,我将SwipeGestureRecognizer添加到相应视图控制器中的每个视图。 SwipeGesture连接到一个方法,该方法在每个文本输入上调用resignFirstResponder。
SwipeGesture在第一个视图中按预期工作,但当我尝试按标签切换视图时,应用程序崩溃。我得到的错误是SIGBART或EXC_BAD_ACCESS。如果我从第二个视图中删除GestureRecognizers,第二个视图加载没有任何问题。
如果我选择使用UtilityApplication模板并以与我在Tabbed应用程序模板中相同的方式添加手势识别器,则不会出现此问题。
任何人都可以给我任何关于如何解决这个问题的指示。我担心我无法提供太多代码,因为我添加的唯一代码是UITextField的IBOutlet以及手势发生时调用的方法
- (IBAction) hideKeyBoard:(id)sender{
[textField resignFirstResponder];
}
这是我在Interface Builder中设置的图像。名为ViewController的视图正在运行,但是当我尝试加载SettingsViewController时,应用程序崩溃了。
更新: 如果我以编程方式添加手势识别器,则不会发生上述问题。
答案 0 :(得分:1)
这是一个UIKit错误。
要继续使用Storyboard / Interface Builder,请在IBOutlet
中添加一个强大的UIViewController
并将其连接到UIGestureRecognizer
。像魅力一样工作:)