如何使UIToolbarItem拉伸到全宽?

时间:2018-07-07 11:47:17

标签: ios swift layout uibarbuttonitem uitoolbar

我有一个带有工具栏的视图控制器。当我仅添加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的宽度。滑块和按钮在左上角彼此相邻。

我尝试添加固定的垫片,但是没有效果。

如何使滑块伸展以填充代码中的其余宽度?

1 个答案:

答案 0 :(得分:1)

您可以使用 UIStackView 安排子视图和UIButton:

enter image description here

    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)]