【问题标题】:Can't connect UIButton to Method on iPhone无法将 UIButton 连接到 iPhone 上的方法
【发布时间】:2011-08-05 20:10:02
【问题描述】:

好的,所以这让我发疯了一段时间,但它偶尔会自我纠正,所以我已经处理了它,但现在是时候修复它了!

情况如下:

在 iOS 的 Interface Builder 中创建的视图。包含一个引用为“banana015”的 UIButton

我的实现.m中的方法如下:

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event {

    if ([[NSUserDefaults standardUserDefaults] integerForKey:@"edittingmode"] == 3) {

    UIButton *selected = (UIButton *)sender;
    selected.center = [[[event allTouches] anyObject] locationInView:self.view];
        if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 1) {
            [self scifiTempSave];
        }
        else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 2) {
            [self bananaTempSave];
        }
        else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 3) {
            [self orangeTempSave];
        }
    }
    else{}

} 

并在我的 .h 标头中声明为

-(IBAction)draggedOut:(id)sender;

现在,当我使用 Touch Drag Inside 事件将按钮连接到 Interface Builder 中的 'draggedOut:' 方法时,我可以在构建和运行项目时拖动按钮(预期行为)但是当我发布应用程序时崩溃。

在过去,我能够连接到一个显示为“draggedout:withevent”的方法,该方法效果很好。今晚我已经将大约 50 个项目连接到这个 'draggedout: withevent' 选项并且它对每个项目都非常有效 - 但是我有两个 UIButtons(几乎在所有方面都相同(不同的引用插座)我还没有连接到它,如果它允许我,我会被诅咒的。

有人可以帮忙吗?这已经激怒了一段时间。该选项消失了,但我之前连接到它的所有那些仍然可以正常工作,我只是无法连接任何新的东西......或者如果我断开它们连接旧的。

【问题讨论】:

  • 我在这里可以看到的一个问题是您在标头中的方法声明与实现不同。
  • 我应该如何在标题中声明它?
  • - (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event; 另外,请发布有关释放按钮时发生的崩溃的任何错误信息。如果你还没有,enable NSZombieEnabled
  • 实际上刚刚意识到发生崩溃的原因与此特定问题无关(一个错字 - 只是巧合地落在同一个按钮上)感谢您的帮助 - 它似乎已经解决了我的问题,我仍然得到连接到一个简单的 draggedout: 方法的选项也是如此 - 知道为什么我会同时得到这两个(如果你愿意把你的 cmets 放在答案的形式中,我很乐意为你打勾:)

标签: iphone xcode methods interface-builder draggable


【解决方案1】:

我可以看到的一个问题是您在标头中的方法声明与您的实现不同。头声明应该是实现中方法的第一行加上一个分号:

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event;

要获取有关崩溃的更多信息,您应该尝试setting NSZombieEnabled to true

要在评论中回答您的问题,我不知道您为什么会选择 draggedout: 方法以及包含 withEvent 的方法,如果它没有在您的代码中声明。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多