如何使 UIToolbarItem 拉伸到全宽?
How to make UIToolbarItem stretch to full width?
我有一个带有工具栏的视图控制器。当我只添加一个 UISlider
:
let slider = UISlider()
let sliderItem = UIBarButtonItem(customView: slider)
toolbarItems = [sliderItem]
它填满了工具栏的整个宽度。
但是如果我添加一个按钮:
...
let buttonItem = UIBarButtonItem(title: "Press", style: .plain, target: nil, action: nil)
toolbarItems = [sliderItem, buttonItem]
滑块缩小到屏幕的大约 1/3 的宽度。滑块和按钮并排显示在左下角。
我试过添加固定垫片,但没有效果。
如何让滑块拉伸以填充代码中的剩余宽度?
您可以使用 UIStackView 来排列子视图和 UIButton:
let button = UIButton()
button.backgroundColor = .blue
let slider = UISlider()
let stackView = UIStackView(frame: toolBar.frame)
stackView.distribution = .fill
stackView.alignment = .top
stackView.axis = .horizontal
stackView.addArrangedSubview(slider)
stackView.addArrangedSubview(button)
stackView.spacing = 8.0
toolBar.items = [UIBarButtonItem(customView: stackView)]
我有一个带有工具栏的视图控制器。当我只添加一个 UISlider
:
let slider = UISlider()
let sliderItem = UIBarButtonItem(customView: slider)
toolbarItems = [sliderItem]
它填满了工具栏的整个宽度。
但是如果我添加一个按钮:
...
let buttonItem = UIBarButtonItem(title: "Press", style: .plain, target: nil, action: nil)
toolbarItems = [sliderItem, buttonItem]
滑块缩小到屏幕的大约 1/3 的宽度。滑块和按钮并排显示在左下角。
我试过添加固定垫片,但没有效果。
如何让滑块拉伸以填充代码中的剩余宽度?
您可以使用 UIStackView 来排列子视图和 UIButton:
let button = UIButton()
button.backgroundColor = .blue
let slider = UISlider()
let stackView = UIStackView(frame: toolBar.frame)
stackView.distribution = .fill
stackView.alignment = .top
stackView.axis = .horizontal
stackView.addArrangedSubview(slider)
stackView.addArrangedSubview(button)
stackView.spacing = 8.0
toolBar.items = [UIBarButtonItem(customView: stackView)]