gpt4 book ai didi

xcode - 为什么 UIBarbuttonItem 在代码编写得很好的情况下不能在 Swift 中工作?

转载 作者:行者123 更新时间:2023-11-28 11:21:14 24 4
gpt4 key购买 nike

我用两种方式编写了相同的行为。第一个,不起作用:

var barbutton = (left) ? navigationItem.leftBarButtonItem : navigationItem.rightBarButtonItem
barbutton = UIBarButtonItem(customView: button)

相反:

if (left) {
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
} else {
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)
}

有什么区别?

最佳答案

正如@Martin 所指出的,这两个代码序列在功能上有很大不同。

首先将 barbutton 设置为 leftBarButtonItemrightBarButtonItem 的内容,然后丢弃该值并将(临时变量)设置为新创建的按钮。

第二个设置 leftBarButtonItemrightBarButtonItem,具体取决于 left 到新创建的按钮。

确实没有太多方法可以缩短您的代码并仍然达到预期的效果(同时不会混淆代码)。

你可以使用:

(left ? navigationItem.setLeftBarButtonItem : navigationItem.setRightBarButtonItem)(UIBarButtonItem(customView: button), animated: false)

但这很奇怪。

关于xcode - 为什么 UIBarbuttonItem 在代码编写得很好的情况下不能在 Swift 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com