【发布时间】:2015-06-10 00:55:47
【问题描述】:
我在 viewDidLoad 中创建了两个 UIBarButtonItem 按钮,它们被分组在导航栏的右侧,这样当满足特定条件时,一个启用,另一个禁用,反之亦然。
除了识别条件并根据条件启用和禁用之外,按钮工作正常。
override func viewDidLoad() {
super.viewDidLoad()
var btnDone: UIBarButtonItem = UIBarButtonItem(
barButtonSystemItem: .Done,
target: self,
action: "btnDoneFunction")
btnDone.style = UIBarButtonItemStyle.Done
let btnAdd: UIBarButtonItem = UIBarButtonItem(
barButtonSystemItem: .Add,
target: self,
action: "btnAddFunction")
var buttons = [btnAdd, btnDone]
self.navigationItem.rightBarButtonItems = buttons
if checked.count >= 1 {
btnDone.enabled = true
btnAdd.enabled = false
} else {
btnDone.enabled = false
btnAdd.enabled = true
}
}
checked 是一个数组,它保存了 didSelectRowAtIndexPath 内表中已检查行的行数。
我尝试移动条件部分:
if checked.count >= 1 {
btnDone.enabled = true
btnAdd.enabled = false
} else {
btnDone.enabled = false
btnAdd.enabled = true
}
在 didSelectRowAtIndexPath 内部,但我无法访问那里的按钮。
有什么方法可以实现吗?我只想检查表中是否检查了任何行并禁用“添加”按钮并启用“完成”按钮。如果没有选中任何行,则相反。
这是在 UITableViewController 类中。
【问题讨论】:
标签: ios swift uitableview