使用 xib 自定义 UIToolBar [Swift 3]
Custom UIToolBar using xib [Swift 3]
我可以在 Xib
文件中创建自定义 UIToolBar
吗?
我想制作一个工具栏,在最左侧有一个完成按钮,在左侧设置一个 last/next 按钮。但我想确保约束是这样的,它可以针对每个 phone 大小正确缩放。有例子吗?
是的,你可以。首先选择一个xib作为模板。将模板命名为 "toolbar"。
然后删除它给你的默认视图。转到右下角的对象库并拖出一个工具栏。
您将在最左侧获得一个默认的条形按钮项目。将其重命名为 "Done",然后拖出另一个条形按钮项并将其重命名为 "Next" 或 "Last"。
现在,创建一个新文件。选择 Cococa Touch Class 并使其成为 UIToolBar 的子class。
返回您的工具栏 xib 并将其 class 设为您刚刚创建的 Cocoa Touch class。在我的示例中,我将我的命名为 ToolBarExample。
现在去你的 ViewController class。在 ViewDidLoad 中添加以下内容。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let toolBar = UINib(nibName: "toolbar", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! ToolBarExample
toolBar.frame = CGRect(x: 0, y: self.view.frame.size.height - 46, width: self.view.frame.size.width, height: 46)
toolBar.sizeToFit()
view.addSubview(toolBar)
}
您可以通过调整框架来更改工具栏的比例、大小和位置。您还可以从属性和大小检查器调整工具栏 xib 及其栏按钮项。这个例子最终在Simulator中应该是这样的。
我可以在 Xib
文件中创建自定义 UIToolBar
吗?
我想制作一个工具栏,在最左侧有一个完成按钮,在左侧设置一个 last/next 按钮。但我想确保约束是这样的,它可以针对每个 phone 大小正确缩放。有例子吗?
是的,你可以。首先选择一个xib作为模板。将模板命名为 "toolbar"。
然后删除它给你的默认视图。转到右下角的对象库并拖出一个工具栏。
您将在最左侧获得一个默认的条形按钮项目。将其重命名为 "Done",然后拖出另一个条形按钮项并将其重命名为 "Next" 或 "Last"。
现在,创建一个新文件。选择 Cococa Touch Class 并使其成为 UIToolBar 的子class。
返回您的工具栏 xib 并将其 class 设为您刚刚创建的 Cocoa Touch class。在我的示例中,我将我的命名为 ToolBarExample。
现在去你的 ViewController class。在 ViewDidLoad 中添加以下内容。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let toolBar = UINib(nibName: "toolbar", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! ToolBarExample
toolBar.frame = CGRect(x: 0, y: self.view.frame.size.height - 46, width: self.view.frame.size.width, height: 46)
toolBar.sizeToFit()
view.addSubview(toolBar)
}
您可以通过调整框架来更改工具栏的比例、大小和位置。您还可以从属性和大小检查器调整工具栏 xib 及其栏按钮项。这个例子最终在Simulator中应该是这样的。