代码之家  ›  专栏  ›  技术社区  ›  meaning-matters

如何使uitoolbaritem伸展到全宽?

  •  1
  • meaning-matters  · 技术社区  · 6 年前

    我有一个带工具栏的视图控制器。当我只添加一个 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 回复  |  直到 6 年前
        1
  •  1
  •   Priyam Dutta    6 年前
    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)]