我的导航栏右侧有一个按钮,它是一个Done
按钮。我在故事板上创建了它。我试图在代码中禁用它。如何访问此按钮?
答案 0 :(得分:4)
有两种方法可以做到:
当您使用Interface Builder创建按钮时,您可以使用Xcode的拖放实用程序为其声明@IBOutlet
,并禁用/隐藏导航栏中的按钮以下方式:
// hide the button
self.rightButton.hidden = true
// disable the button
self.rightButton.enabled = false
// change its title
self.rightButton.setTitle("NEW TITLE", forState: .Normal)
@IBOutlet
是这样的:
@IBOutlet weak var rightButton: UIButton!
如果您不想宣布任何@IBOutlet
,您可以在任何您想要的地方设置self.navigationItem.rightBarButtonItem
到nil
:
// remove the button
self.navigationItem.rightBarButtonItem = nil
// disable the button
self.navigationItem.rightBarButtonItem?.enabled = false
以上代码禁用您设置的任何先前按钮。
我希望这对你有所帮助。
答案 1 :(得分:0)
navigationItem.rightBarButtonItem?
答案 2 :(得分:0)
if let iuRightNavigationButton = self.navigationItem.rightBarButtonItem
{
iuRightNavigationButton.enable = false
}
它基本上检查rightBarbutton项,如果有,则禁用它。你不需要声明任何iboutlet来执行此操作
答案 3 :(得分:-1)
尝试在视图控制器中创建插座: @IBOutlet weak var doneButton:UIBarButtonItem! 将barbuttonItem链接到故事板中的doneButton变量。
在禁用它时分配值false。 在视图确实加载:
doneButton.enabled = false