[iOS]-UInavigationBarコードを使用して作成

2522 ワード

UInavigationBarとその中のItemをコードで記述する方法を見てみましょう.

1.UInavigationBarの作成

let navigationBar : UINavigationBar = {
    let navigationBar = UINavigationBar()
    navigationBar.translatesAutoresizingMaskIntoConstraints = false
    return navigationBar
}
  • を作成すると、viewDidLoad()はaddSubViewと制約
  • を設定します.

    2.UInavigationItemの作成


    右Barbutton、左BarButton、titleなどはUInavigationItemに属するため、UInavigationItemを作成して入れる必要があります.
    override func viewDidLoad() {
        let navItem = UINavigationItem(title: "알림 추가")
        
    }
  • titleを作成し、すぐに設定

    3.左BarButton、右BarButtonの作成と設定

    override func viewDidLoad() {
        let leftButton = UIBarButtonItem(title: "취소", style: .plain, target: self, action: #selector(tapDismissButton))
        let rightButton = UIBarButtonItem(title: "저장", style: .plain, target: self, action: #selector(tapSaveButton))
            
        navItem.rightBarButtonItem = rightButton
        navItem.leftBarButtonItem = leftButton
    }
    
  • Barbuttonを作成し、2番目のUInavigationItemのBarbuttonItemに設定します.
  • 4.NavigationItemをNavigationBarに入れる

    override func viewDidLoad() {
        navigationBar.setItem([navItem], animated: true)
    }
  • ナビゲーションバーのナビゲーションItemを次のように設定します.
  • viewDidLoad()フルコード

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .white
        
        self.view.addSubview(navigationBar)
        let safeArea = self.view.safeAreaLayoutGuide
    
        navigationBar.topAnchor.constraint(equalTo: safeArea.topAnchor).isActive = true
        navigationBar.leadingAnchor.constraint(equalTo: safeArea.leadingAnchor).isActive = true
        navigationBar.trailingAnchor.constraint(equalTo: safeArea.trailingAnchor).isActive = true
        
        let navItem = UINavigationItem(title: "알람 추가")
        let leftButton = UIBarButtonItem(title: "취소", style: .plain, target: self, action: #selector(tapDismissButton))
        let rightButton = UIBarButtonItem(title: "저장", style: .plain, target: self, action: #selector(tapSaveButton))
            
        navItem.rightBarButtonItem = rightButton
        navItem.leftBarButtonItem = leftButton
            
        navigationBar.setItems([navItem], animated: true)
    }
    
    

    -完了画面


  • を実行すると、ナビゲーションバーが表示されます.