如何将分段控件添加到导航栏? (IOS)

问题描述 投票:3回答:2

我想在像enter image description here这样的导航栏中添加一个分段控件

但是当我将分段控件拖到导航栏时,大标题就消失了。如何创建上面的UI?

ios swift xcode user-interface navigationbar
2个回答
1
投票

您应该将分段控件添加为导航栏的titleView。以下是示例代码:

let titles = ["All", "Missed"]
segmentControl = UISegmentedControl(items: titles)
segmentControl.tintColor = UIColor.white
segmentControl.backgroundColor = UIColor.blue
segmentControl.selectedSegmentIndex = 0
for index in 0...titles.count-1 {
    segmentControl.setWidth(120, forSegmentAt: index)
}
segmentControl.sizeToFit()
segmentControl.addTarget(self, action: #selector(segmentChanged), for: .valueChanged)
segmentControl.selectedSegmentIndex = 0
segmentControl.sendActions(for: .valueChanged)
navigationItem.titleView = segmentControl

1
投票

您可以尝试以下简单的代码,

var segmentedController: UISegmentedControl!

let items = ["Label A", "Label B"]
segmentedController = UISegmentedControl(items: items)
navigationItem.titleView = segmentedController
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Edit", style: .plain, target: self, action: #selector(handleSignOut))
navigationItem.rightBarButtonItem?.tintColor = UIColor.black
© www.soinside.com 2019 - 2024. All rights reserved.