无法将 Action 设置为在情节提要上创建的 UIBarButtonItem

Posted

技术标签:

【中文标题】无法将 Action 设置为在情节提要上创建的 UIBarButtonItem【英文标题】:Cant set Action to UIBarButtonItem created on storyboard 【发布时间】:2015-10-17 22:18:25 【问题描述】:

我的故事板上有以下视图。我正在尝试通过将其拖放到我的视图控制器上来在发送按钮上创建一个 IBAction。不幸的是,该操作没有被调用。

所以我的操作看起来像这样:

@IBAction func sendMessage(sender: UIBarButtonItem) 
    print("test")

我还尝试将条形项目作为我的控制器上的 Outlet 拖动并以编程方式设置操作。

@IBOutlet weak var sendButton: UIBarButtonItem!

override func viewDidAppear(animated: Bool)         
    self.sendButton.target = self;
    self.sendButton.action = Selector("sendMessage:")


func sendMessage(sender: UIBarButtonItem) 
    print("hue")

不显示日志消息。它只是不调用动作。

【问题讨论】:

似乎是什么问题? 动作没有被调用。 愚蠢的问题,但是您的 .swift 文件是否链接到 Storyboard 中的 TableView?如果不是...,那将导致没有功能...... 是的。如果不是,我无法链接 UIBarButtonItem 和控制器。 :P 【参考方案1】:

刚刚想通了。

我必须将 UIButton 拖入 UIBarButtonItem 而不是 UIBarButtonItem。因此,正如您在下图中看到的那样,我正在拖动项目 Send Button 而不是按钮 Send

【讨论】:

以上是关于无法将 Action 设置为在情节提要上创建的 UIBarButtonItem的主要内容,如果未能解决你的问题,请参考以下文章

在 Objective C 中为 UISlider 创建没有情节提要的 Outlet 和 Action

无法通过情节提要创建 Unwind Segue Xcode 11

无法在情节提要中将按钮\标签与变量\出口连接起来

使用情节提要作为子视图?

无法将自定义 IBDesignable 类链接到情节提要上的 UIButton

使用情节提要创建的没有标题的自定义 UITabbarItem