以编程方式将分段控件嵌入导航栏中

use*_*224 1 xcode uisegmentedcontrol programmatically-created swift

我试图以编程方式在导航栏中插入分段控件,并且在导航栏中加载分段控制器时遇到一些问题.我确信这很简单,但请参阅下面的代码.提前致谢!

var segmentedController: UISegmentedControl!

override func viewDidLoad() {
    super.viewDidLoad()

    navigationItem.titleView = segmentedController
    let items = ["Label A", "Label B"]
    segmentedController = UISegmentedControl(items: items)

    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Sign Out", style: .plain, target: self, action: #selector(handleSignOut))
    navigationItem.leftBarButtonItem?.tintColor = UIColor.black

} 
Run Code Online (Sandbox Code Playgroud)

Dan*_*ynh 6

您应该segmentedController在初始化后添加到导航栏!

var segmentedController: UISegmentedControl!

override func viewDidLoad() {
    super.viewDidLoad()

    let items = ["Label A", "Label B"]
    segmentedController = UISegmentedControl(items: items)
    navigationItem.titleView = segmentedController

    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Sign Out", style: .plain, target: self, action: #selector(handleSignOut))
    navigationItem.leftBarButtonItem?.tintColor = UIColor.black
}
Run Code Online (Sandbox Code Playgroud)