สำหรับผู้ที่ศึกษาการเขียนโปรแกรมด้วย Cocoa Framework หรือ Cocoa Touch Framework และ Objective-C ส่วนมากจะคุ้นเคยกับการสร้างปุ่มโดยการวางลงไปในหน้า View ของเราที่อยู่ในหน้า Interface Builder แล้วก็สร้าง Action ขึ้นมาในคลาสแล้วก็ลากเชื่อม Action กับปุ่มที่เราสร้างขึ้นใช่มั้ยครับ
อันนั้นเป็นวิธีการสร้างปุ่มแบบ Static ใน Compile-Time ซึ่งไม่มีอะไรยุ่งยากซับซ้อน เพราะตัว XCode และ IB สามารถทำงานร่วมกันได้เป็นอย่างดีอยู่แล้ว ข้อดีของมันคือง่ายไม่ซับซ้อน แต่บางครั้งเราอาจต้องการปุ่มที่มีความยืดหยุ่นมากกว่า เช่น ปุ่มที่สามารถเลือกได้ว่าในขณะนั้นมันควรเลือกใช้ Method ไหนกันแน่ภายใต้เงื่อนไขนั้นๆ ดังนั้น ใน Entry นี้จะกล่าวถึงการสร้างปุ่มที่จะถูกสร้างและแสดงผลในช่วง Runtime
อันนี้จะเป็นตัวอย่างการสร้างปุ่มใน UIKit ของ Cocoa Touch Framework นะครับ
เริ่มต้นการสร้างปุ่มก่อนเป็นอย่างแรก
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
เท่านี้เราก็จะได้ปุ่มแบบ RoundedRect แสดงผลอยู่หน้าหลักของเราแล้วนะครับ เราสามารถที่จะปรับขนาดและตำแหน่งที่ต้องการได้ โดยเซต property frame ของปุ่มของเรา หรือคุณสมบัติอื่นๆก่อนนำไปแสดงผลได้นะครับ ซึ่งสามารถดูได้ในหน้า Reference ตัวอย่างเช่นการเซต property frame ทำแบบนี้นะครับ
button.frame = CGRectMake( พิกัด X, พิกัด Y, ความกว้าง, ความสูง)
เราได้ปุ่มมาแล้ว ต่อไปเป็นการกำหนดว่าปุ่มนั้นจะเรียก Method อะไรเมื่อถูกกด กำหนดแบบนี้ครับ
[button addTarget:self action:@selector(Method ที่ต้องการจะให้ทำ) forControlEvents:(UIControlEvent)แอคชั่นบนปุ่ม];
เอาละครับ เรากำหนดคุณลักษณะต่างๆเรียบร้อยแล้ว (อาจกำหนดคุณสมบัติอื่นๆได้อีก แต่ไม่ขอเขียนในนี้นะครับ) คราวนี้ขั้นตอนสุดท้ายก็คือ นำไปแสดงผล แบบนี้ครับ
[self.view addSubview:button];
เท่านี้เราก็ได้ปุ่มที่ถูกสร้างขึ้นในช่วง Runtime เรียบร้อยแล้วครับ ไม่ยากเลย
Happy Coding นะครับ.
Source : http://onoaonoa.wordpress.com/2009/01/15/cocoa-iphone-development-add-ui...
Recent comments
29 weeks 3 days ago
29 weeks 6 days ago
30 weeks 2 days ago
32 weeks 3 days ago
32 weeks 3 days ago
36 weeks 4 days ago
36 weeks 5 days ago
36 weeks 5 days ago
36 weeks 5 days ago
37 weeks 4 days ago