iPhone: UIAction Sheet


iPhone: UIAction Sheet

หลังจากที่ไม่ได้เขียนบล็อคมานาน วันนี้มาเริ่มกันที่เรื่องง่ายเกี่ยวกับ UIAction Sheet กันดีกว่า UIAction Sheet คืออะไร? มันคือ UI ที่จะแสดงขึ้นมาคล้ายๆ Popup จากล่างขึ้นบน เช่นตอนเราจะกดส่งเมล์ เมื่อกดปุ่มเมล์ มันจะขึ้น UIAction แสดงปุ่ม Delete Draft, Send และ Cancel โดยจะมีปุ่ม Delete Draft เป็นปุ่มสีแดง แล้ว UIAction Sheet ใช้ทำอะไร? มันใช้เพื่อแสดงปุ่ม Option ย่อย จากปุ่มหลัก ทำให้ผู้ใช้เห็นเมนูย่อยและเลือกได้ทันที และมีสีแดงเตือนด้วย หากปุ่มนั้นเป็นปุ่มเช่น ลบข้อความ เป็นต้น เรามาดูวิธีการสร้างและการใช้งานกันดีกว่าครับ

สมมุติผมสร้าง ฟังก์ชั่นรับอีเวนท์ กดปุ่มขึ้นมาชื่อว่า (IBAction) showActionSheet และทำการเชื่อมอีเวนท์ใน Interface Builder เรียบร้อยแล้ว (หากเพื่อนๆ คนไหน ทำยังไม่เป็น ยกมือถามหรือคอมเม้นมาได้นะครับ) ตัวอย่างโค้ด


-(IBAction)showActionSheet{
    UIActionSheet *actSheet = [[UIActionSheet alloc] initWithTitle:@"Demo UIActionSheet by adaydesign"
                                                          delegate:nil
                                                 cancelButtonTitle:@"Cancel"
                                            destructiveButtonTitle:@"RED Button"
                                                 otherButtonTitles:@"B1",@"B2", nil];
   [actSheet showInView:self.view];
   [actSheet release];
}

อธิบายเพิ่มเติม

  • UIActionSheet คือชื่อคลาส
  • *actSheet คือ instant ของคลาส UIActionSheet
  • ในฟังก์ชั่นการสร้าง UIActionSheet ประกอบด้วยพารามิเตอร์ดังนี้
  1. initWithTitle เราก้อใส่ชื่อหัวเรื่องของ UIActionSheet
  2. delegate หากเราต้องให้ปุ่มใน UIActionSheet กดได้ ก้อใส่เป็นคลาสที่ implement <UIActionSheetDelegate> ในบทความนี้ยังขอเป็น nil ไว้ก่อน และจะอธิบายในบทความหน้า
  3. cancelButton ปุ่มยกเลิกการแสดง UIActionSheet เมื่อกดปุ่มนี้ UIActionSheet จะหายไปทันที
  4. destructiveButtonTitle ชื่อของปุ่ม “เตือน” เป็นพิเศษในการกด เช่น การลบข้อความ การทำลายอะไรสักอย่าง โดยปุ่มนี้จะมีสีแดงชัดเจน เพื่อเตือนว่า กรุณาพิจารณาก่อนกดมัน เพราะหากกดแล้วจะเป็นการ ลบ อะไรบ้างอย่างออกไป จึงควรใช้อย่างระมัดระวัง
  5. otherButtonTitles ชื่อของปุ่มอื่นๆ ที่จะใส่เข้าไป โดยปุ่มพวกนี้ใส่เป็น @”String”, @”String”, @”String”, nil อย่างนี้เลย มันจะเพิ่มปุ่มให้เอง !อย่าลืม nil ตามหลังเพื่อบอกจุดสิ้นสุดนะครับ
  • showInView คือ ฟังก์ชั่นที่บอกว่าจะแสดง UIActionSheet ที่ไหน ณ ที่นี้เลือกเป็น self.view ให้แสดงบนวิวเลย

นี้เป็นพื้นฐานการใช้งานของ UIActionSheet นะครับ ในบทความต่อไปจะเป็นเรื่องของการปรับแต่ง UIActionSheet จากข้อมูลที่เรามี และ การกดหนดการทำงานให้กับปุ่มแต่ละปุ่มนะครับ

Reference

adaydesign :)

About adaydesign

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

Posted on มิถุนายน 2, 2011, in [Dev] 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: