由于在通过情节提要板创建按钮时遇到问题,因此我开始通过代码初始化一个右侧导航栏按钮-通过此问题找到了如何在Swift中返回初始视图控制器? 该代码旨在将我带回到我的根视图控制器。

所以这是目前的代码。

 let button1 = UIBarButtonItem(image: UIImage(named: "HomeM25.png"), style: .plain, target: self, action: #selector(getter: UIDynamicBehavior.action))
    self.navigationItem.rightBarButtonItem  = button1

    func button() {
        self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
    }

我的印象是,如果要更改

action: #selector(getter: action)

我将能够在此按钮初始化之后创建一个函数,如下所示

func action() {
        self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
    }

但是,我对“在声明之前使用局部变量'action'表示欢迎”。 我不明白为什么这种解释不会执行/为什么当仅使用函数名称时要建立操作变量? 任何帮助,将不胜感激。

更新1:当前代码

  override func viewDidLoad() {
    super.viewDidLoad()

    let button1 = UIBarButtonItem(image: UIImage(named: "HomeM25.png"), style: .plain, target: self, action: #selector(action))
    self.navigationItem.rightBarButtonItem  = button1

    func action() {
        self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
    }

更新1:还必须使用其他功能动作才能返回到原始视图控制器。

    self.navigationController!.popToRootViewController(animated: true)

#1楼 票数:0 已采纳

它应该是#selector(action) 您可以在函数中定义函数。 action viewDidLoad函数之外。 尝试这个。

override func viewDidLoad() {
    super.viewDidLoad()
    let button1 = UIBarButtonItem(image: UIImage(named: "HomeM25.png"), style: .plain, target: self, action: #selector(action))
    self.navigationItem.rightBarButtonItem  = button1
}


func action() {
    self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
}

  ask by jonpeter translate from so

未解决问题?本站智能推荐:

1回复

如何在Apple Watch中添加按钮动作?

我试图用按钮添加一个操作来更改标签中的文本,我为表行创建了一个类,这是代码,当我尝试运行时我什么也没看到。
2回复

为模态搜索按钮创建动作。 无法按Ctrl拖动,Swift

我试图获取一个将我带到超链接的按钮,该按钮位于我的应用程序的“关于”页面上。 我有以下代码,这些代码我知道应该可以完成,但是我无法从按钮ctrl拖动到“ ViewController.Swift”文件上以创建操作: 这是我的情节提要的图片,我要放置的按钮超链接在左下方窗口中:
2回复

3个差分按钮和1个按钮中的动作

我正在尝试开发一个易于应用的游戏。 在我的设计中(使用xcode swift 4.x),我有一个按钮。 但是这个按钮实际上是3个不同的按钮,每次按下该按钮都会改变其状态和动作。 我尝试了一些if-else语句,但找不到任何方法。 任何建议或知识如何实现这种代码。 不管怎么说,还是要谢谢
1回复

如何在不重新加载页面的情况下使用php页面上的按钮执行功能?

我有一个php页面,在其中运行SQL查询并将记录存储在2D数组中。 现在,我想根据用户的要求来操纵数据,为此我在该php页面上指定了不同的按钮。 每当单击一个按钮时,我都希望它所关联的功能能够在不重新加载/刷新页面的情况下执行。 请帮我。 谢谢
3回复

如何为单击图像时添加动作? [重复]

这个问题已经在这里有了答案: 如何使故事板上的UIImageView可单击(快速) 7个答案 我正在尝试将自定义图片用作应用中的按钮。 如何为图像添加动作? 这是针对iOS应用的,我不想将默认的文本按钮用作按钮。 我已经尝试过将控件+拖动图像到ViewCo
2回复

在运行时改变按钮动作奇怪地推送视图控制器

我的代码太复杂了,所以我要把它最小化一点。 我有一个 tableviewController,它有 2 个单元格和一个按钮在视图中。(按钮不在单元格中)。 我正在根据选定的单元格更改按钮操作: botButton 是我的按钮插座 这是我的操作按钮: 当页面加载时,如果我选择一行然后
1回复

一键操作,两个动作和名称更改,Swift?

我是这个领域的新手,所以也许我不知道关于Swift的一个非常简单的问题。 我知道如何制作2个用于秒表的按钮,启动和停止。 但是我想使用相同的按钮来启动和停止秒表,然后文本从停止到开始更改,这可能吗?如何?
1回复

按钮中的顺序事件

在下面,我有2个按钮。 需要在magicjohnson按钮之前按下place按钮,否则会出现运行时错误。 我如何才能从本质上做到这一点/