iPhone: addTarget Event in Button


addTarget Event in Button

ขอเขียนกันลืมอีกสักหน่อยหละกันกับการกำหนด Event ให้กับ ปุ่ม (UIButton) ใน iPhone มันต่างกับ Java และ ActionScript อะเนอะ เลยจำยากหน่อย ว่าต้องเริ่มด้วยการ addTarget แล้วก้อมา seclector ไปยังฟังก์ชั่นที่จะรับอีเวนท์ และจบด้วยบอกว่าเป็น อีเวนท์ประเภทไหน โอเคเริ่มกันเลย

โดยปกติแล้วเวลาใส่อีเวนท์ให้ปุ่มส่วนมากผมใส่การใส่อีเวนท์ผ่าน Interface Builder คือจับๆ ลากใส่อย่างเดียวเลย

แต่ครั้งนี้กลับได้มาเขียนสร้าง IUButton ในคลาสเอง เหอะๆ แล้วก้อต้องใส่อีเวนท์เองอีก น่าสนใจทีเดียวครับ มาต่อกันเลย

สำหรับวิธีการสร้าง IUButton

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 70, 50)];

เป็นการสร้าง ปุ่มด้วยชื่อตัวแปร button ขนาด x=10 y=10 w=70 h=50

การเพิ่ม UIButton ลง View ที่ต้องการ โดยใช้

[view addSubView:button]

การใส่อีเวนท์และการสร้างฟังก์ชั่นรับอีเวนท์ใน .m การประกาศใน .h

  • ใน .m

ฟังก์ชั่นในการเพิ่มอีเวนท์ให้กับ ปุ่ม

[button addTarget:self action:@selector(didClick:) 
 forControlEvents:UIControlEventTouchUpInside];

แล้วก้อไปสร้างฟังก์ชั่น didClick เอาไว้ คือ (เพราะเราประกาศ  addTarget:self และ action:@selector(ชื่อฟังก์ชั่น)) หากไม่ต้องการส่งค่า (id)sender เข้าไปในฟังก์ชั่นให้เปลี่ยนชื่อฟังก์ใน selector เป็น @selector(didClick) ไม่ต้องมี : ต่อท้าย

-(void)didClick:(id)sender{
   //to do
}
  • ใน .h

ก้อประกาศ -(void)didClick:(id)sender; เพิ่มเข้าไป

อีเวนท์ต่างๆ ที่ใช้ได้ จะเป็นตัวแปรของ UIControlEvent ลองเลือกที่เหมาะสมดู

การใส่อีเวนท์ให้กับปุ่มที่เขียนขึ้นเอง ไม่ยากเลยใช่มั้ยครับ หากเราพิมพ์ addTarget แล้วก้อ esc มันก้อจะขึ้นไกด์มาให้เรา เราก้อจะใช่พารามิเตอร์ถูกยิ่งขึั้น แต่หากเราจำไม่ได้ว่าต้องใส่อะไรยังไง ก้อมาที่ adayd3sign.wordpress.com ได้ทุกเวลาเลยนะครับ

Reference

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on มีนาคม 13, 2011, in [Dev] iOS, [Link] iOS and tagged , , , , , , , , , , , . Bookmark the permalink. ใส่ความเห็น.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: