【发布时间】:2018-11-23 03:45:04
【问题描述】:
我正在尝试在 iOS 的工具栏上添加两个栏按钮 [取消] 和 [保存] 相应地在右侧和左侧。
我使用了第三个栏按钮 [Spacer] 并将其设置为 [.flexiblewidth] 否则,添加它时,只有左侧按钮出现 [Cancel] 和 [Spacer] & 和 [Save] 必须在下一个消失?
屏幕截图在链接中: https://ibb.co/cZsaVV
let pickerView = UIPickerView()
override func viewDidLoad() {
pickerView.addSubview(self.setToolBar())
}
func setToolBar() -> UIToolbar {
let toolBar = UIToolbar()
toolBar.isTranslucent = true
toolBar.backgroundColor = UIColor.clear
let barButtonAttr = [NSAttributedString.Key.font : UIFont.systemFont(ofSize: 15),
NSAttributedString.Key.foregroundColor : UIColor.black]
// [Save] BarButtonItem
let saveBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.save, target: self, action: nil)
saveBarButtonItem.setTitleTextAttributes(barButtonAttr, for: .normal)
// [Cancel] BarButtonItem
let cancelBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.cancel, target: self, action: nil)
cancelBarButtonItem.setTitleTextAttributes(barButtonAttr, for: .normal)
let spacerBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace ,
target: self, action: nil)
spacerBarButtonItem.setTitleTextAttributes(barButtonAttr, for: .normal)
// add BarButtonItems to toolBar
toolBar.items = [cancelBarButtonItem,spacerBarButtonItem,saveBarButtonItem]
toolBar.sizeToFit()
return toolBar
}
【问题讨论】:
-
欢迎来到 SO。请将屏幕截图添加到帖子本身。另外:会发生什么,您期望会发生什么?尝试向工具栏添加约束以提供屏幕宽度
-
这里是链接中的屏幕截图:ibb.co/cZsaVV
-
在帖子的末尾它说“在此处输入图像描述”。为此添加一个新行,以便图像在帖子中可见。
-
尝试将两个条形按钮项添加到 UIToolBar 并设置为最右边和最左边。它们是在左侧并排添加的吗?
-
尝试删除
spacerBarButtonItem.setTitleTextAttributes(barButtonAttr, for: .normal)
标签: ios iphone swift uibarbuttonitem uitoolbar