在代码中访问导航栏按钮
Access nav bar button in code
我的导航栏右侧有一个按钮,它是一个 Done
按钮。我在故事板上创建了它。我试图在代码中禁用它。我怎样才能访问这个按钮?
navigationItem.rightBarButtonItem?
尝试在您的视图控制器中创建插座:
@IBOutlet 弱变量 doneButton:UIBarButtonItem!
link 故事板中 doneButton 变量的 barbuttonItem。
禁用时赋值false。
在查看加载:
doneButton.enabled = 假
if let iuRightNavigationButton = self.navigationItem.rightBarButtonItem
{
iuRightNavigationButton.enable = false
}
它基本上检查 rightBarbutton 项,如果有则它 disables.You 不需要声明任何 iboutlet 来执行此操作
有两种方法:
当您使用 Interface Builder 创建按钮后,您可以使用 Xcode 和 [=37 的 drag-and/drop 实用程序为其声明一个 @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
上面的代码会禁用您之前设置的任何按钮。
希望对您有所帮助。
我的导航栏右侧有一个按钮,它是一个 Done
按钮。我在故事板上创建了它。我试图在代码中禁用它。我怎样才能访问这个按钮?
navigationItem.rightBarButtonItem?
尝试在您的视图控制器中创建插座: @IBOutlet 弱变量 doneButton:UIBarButtonItem! link 故事板中 doneButton 变量的 barbuttonItem。
禁用时赋值false。 在查看加载:
doneButton.enabled = 假
if let iuRightNavigationButton = self.navigationItem.rightBarButtonItem
{
iuRightNavigationButton.enable = false
}
它基本上检查 rightBarbutton 项,如果有则它 disables.You 不需要声明任何 iboutlet 来执行此操作
有两种方法:
当您使用 Interface Builder 创建按钮后,您可以使用 Xcode 和 [=37 的 drag-and/drop 实用程序为其声明一个
@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
上面的代码会禁用您之前设置的任何按钮。
希望对您有所帮助。