我正在尝试将TSPopover合并到我的iPad应用程序中(XCode 4.6,带有UITabBarController的故事板,iOS 6.2)。我已将TSPopover代码复制到我的应用程序中,并选择了一个控制器开始。在一个场景中,我将小“i”放在一个圆圈中供用户在需要帮助时点击(它最终会被本地化,因此需要帮助)。所以,我在 -viewDidLoad :
中有这段代码 if(tfShopOpens.text.length == 0 || shopCloses.text.length == 0) {
/* (below code copied from the TSPopover demo code)
UIButton *topButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[topButton addTarget:self action:@selector(showPopover:forEvent:) forControlEvents:UIControlEventTouchUpInside];
topButton.frame = CGRectMake(10,10, 300, 30);
[topButton setTitle:@"button" forState:UIControlStateNormal];
topButton.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:topButton];
*/
[boHelpStoreHours addTarget:self action:@selector(showPopover:forEvent:) forControlEvents:UIControlEventTouchUpInside];
这是来自.h文件:
- (IBAction)bHelpStoreHours:(UIButton *)sender;
@property (strong, nonatomic) IBOutlet UIButton *boHelpStoreHours;
这来自Connections Inspector:
这是我点击此特定按钮时出现的错误:
2013-04-02 15:49:48.016 saori [5495:c07] - [PreferencesViewController bHelpStoreHours:]:无法识别的选择器发送到实例0x8a6c510 2013-04-02 15:49:48.019 saori [5495:c07] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [PreferencesViewController bHelpStoreHours:]:无法识别的选择器发送到实例0x8a6c510' * 第一次抛出调用堆栈: (0x26fc012 0x19eae7e 0x27874bd 0x26ebbbc 0x26eb94e 0x19fe705 0x9322c0 0x932258 0x9f3021 0x9f357f 0x9f26e8 0x961cef 0x961f02 0x93fd4a 0x931698 0x2b79df9 0x2b79ad0 0x2671bf5 0x2671962 0x26a2bb6 0x26a1f44 0x26a1e1b 0x2b787e3 0x2b78668 0x92effc 0x222d 0x2155为0x1) libc ++ abi.dylib:terminate调用抛出异常
我遇到的问题是,我不确定所有内容是否正确连接才能使其正常工作。 TSPopover代码中没有任何评论可以指导我,所以我猜测需要什么。我看过谷歌,所以......没什么!什么导致运行时崩溃?以及如何解决?
答案 0 :(得分:1)
bHelpStoresHours:
中可能不存在@implementation
方法。确保您已在PreferencesViewController.m
文件中定义了该方法。