代码之家  ›  专栏  ›  技术社区  ›  Aleksandr Maybach

如何将SegmentControl附加到导航栏?

  •  -2
  • Aleksandr Maybach  · 技术社区  · 7 年前

    我试图在导航栏中附加uisegmentedcontrol,但有些地方出错了:

    段控制:

    func segmentControl() -> UIView {
    let newUIView = UIView()
    
    newUIView.backgroundColor = UIColor.clear
    newUIView.layer.cornerRadius = 15.0
    
    let items = ["list", "map"]
    let customSC = UISegmentedControl(items: items)
    
    customSC.layer.cornerRadius = 15.0
    customSC.layer.borderWidth = 1
    customSC.layer.borderColor = UIColor.green.cgColor
    
    customSC.clipsToBounds = true
    customSC.tintColor = UIColor.green
    
    let font = UIFont.systemFont(ofSize: 16)
    customSC.setTitleTextAttributes([NSAttributedStringKey.font: font],
                                    for: .normal)
    
    newUIView.addSubview(customSC)
    
    return newUIView
    }
    

    我试着附加:

    SomeTab.navigationItem.titleView = segmentControl()
    

    它应该看起来像: Sample

    1 回复  |  直到 7 年前
        1
  •  2
  •   Hardik Thakkar    7 年前

    尝试此代码

    let segment: UISegmentedControl = UISegmentedControl(items: ["First", "Second"])
    segment.sizeToFit()
    segment.tintColor = UIColor(red:0.99, green:0.00, blue:0.25, alpha:1.00)
    segment.selectedSegmentIndex = 0;
    segment.setTitleTextAttributes([NSFontAttributeName: UIFont(name:"ProximaNova-Light", size: 15)!],
                forState: UIControlState.Normal)
    self.navigationItem.titleView = segment