Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

วิธีกำหนดเป้าหมายและการดำเนินการสำหรับ UIBarButtonItem ณ รันไทม์?


ในการสร้างการกระทำของปุ่มแถบในขณะใช้งาน เราจะต้องดำเนินการสองสามขั้นตอน ก่อนอื่นมาเริ่มด้วยการสร้างโปรเจ็กต์ใหม่กันก่อน

เมื่อคุณสร้างโปรเจ็กต์แล้ว ให้ไปที่สตอรีบอร์ดของโปรเจ็กต์โดยตรง เลือก ViewController และฝังลงในตัวควบคุมการนำทาง

ไปที่คลาส View controller ตามลำดับ และภายในนั้น เราจะดำเนินการบางขั้นตอนที่จะเพิ่มปุ่มลงในแถบนำทางในเวลาทำงาน

สร้างฟังก์ชัน objc ที่ควรเรียกเมื่อกดปุ่ม

@objc func barButtonAction() {
   print("Button pressed")
}

ตอนนี้เพิ่มเมธอด viewWillLayoutSubviews ให้กับชั้นเรียนของคุณ

ขั้นแรก เราจะสร้างปุ่มแถบขึ้นมาก่อน

let barButton = UIBarButtonItem()

จากนั้นเราจะตั้งชื่อให้กับบาร์โค้ดนี้

barButton.title = "custom"

ตอนนี้เราจะเพิ่มการดำเนินการที่กำหนดเองให้กับบาร์โค้ดนี้และกำหนดเป้าหมายของตนเอง

barButton.action = #selector(barButtonAction)
barButton.target = self

ตอนนี้เราจะเพิ่มปุ่มนี้ในแถบนำทางของแอปพลิเคชันของเรา

self.navigationItem.setLeftBarButton(barButton, animated: true)

นี่คือลักษณะของโค้ดที่สมบูรณ์ในตอนนี้ เมื่อเรารันโค้ดด้านบนบนอุปกรณ์ของเรา หน้าตาจะเป็นแบบนี้

override func viewWillLayoutSubviews() {
   let barButton = UIBarButtonItem()
   barButton.title = "custom"
   barButton.action = #selector(barButtonAction)
   barButton.target = self
   self.navigationItem.setLeftBarButton(barButton, animated: true) }
   @objc func barButtonAction() {
   print("Button pressed") }

เมื่อเรากดปุ่มบนแถบนำทางหลายๆ ครั้ง ด้านล่างนี้คือผลลัพธ์ที่ได้

วิธีกำหนดเป้าหมายและการดำเนินการสำหรับ UIBarButtonItem ณ รันไทม์?

วิธีกำหนดเป้าหมายและการดำเนินการสำหรับ UIBarButtonItem ณ รันไทม์?