0

选择特定单元格时,如何更改导航栏右侧按钮中的图像?

一个很好的例子是图片rightBarButtonItem根据所选单元格的不同而不同:

在此处输入图像描述

4

2 回答 2

1

您可以使用 viewDidLoad 中的以下代码在导航栏中简单地添加一个右栏按钮项:

let navBarbutton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.bookmarks, target: self, action: nil)
navItem.rightBarButtonItem = navBarbutton

(用您的图像更改 systemItem)

像这样添加一个 IBOutlet:

@IBOutlet weak var navItem: UINavigationItem!

并将其连接到情节提要中的导航项。

然后在您的 didSelectRowAtIndexPath 中,您可以使用以下示例代码处理它:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if (indexPath.row == 0)
    {
        navItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.add, target: self, action: nil)
    }
    else if (indexPath.row == 1)
    {
        navItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.camera, target: self, action: nil)
    }
}
于 2018-08-12T09:16:56.703 回答
1

您可以尝试以下代码来创建并设置UIBarButtonItemnavigationItem.

let updateButton = UIBarButtonItem(image: YourImage, style: .plain, target: self, action: #selector(buttonAction))
navigationItem.rightBarButtonItem = updateButton

@objc func buttonAction() {
}

因此,在您的didSelectRowAt indexPath委托方法中根据条件创建并UIBarButtonItem根据需要进行设置。

于 2018-08-12T09:28:34.450 回答