iPhone: Flip Navigation Controller


iPhone: Flip Navigation Controller

วันนี้มาพูดกันเรื่องเบาๆ บางดีกว่า บทความเรื่องนี้จะพูดถึงการเปลี่ยนรูปแบบการเปลี่ยนหน้าวิวของ Navigation Controller จากที่เป็นการเลื่อนไปด้านซ้ายแบบธรรมดาๆ ให้เป็นการหมุนรอบตัวเองเพื่อเปลี่ยนหน้าวิว

Step by Step

1. เริ่มต้น เราสร้างโปรเจ็คแบบ Navigation Controller เลยนะครับจะได้ง่ายๆ

2. ใส่ค่าลงใน TableView ตามใจชอบเลย

3. ไปยังฟังก์ชั่น didSelectRowAtIndexPath:(NSIndexPath *)indexPath เพื่อเขียนคำสั่งให้เปิดหน้าต่อไป

ผมสร้างคลาสวิวปลายทางชื่อว่า MyViewController เอาไว้แสดงผล

3.1 การเปลี่ยนหน้าแบบปกติ


MyViewController *myView = [[MyViewController alloc] initWithWord:[myList objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:myView animated:YES];
[myView release];

3.2 การเปลี่ยนหน้าแบบ Flip


MyViewController *myView = [[MyViewController alloc] initWithWord:[myList objectAtIndex:indexPath.row]];

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 1];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];

[self.navigationController pushViewController:myView animated:YES];
[myView release];
[UIView commitAnimations];

ผลลัพธ์เมื่อเรากดที่รายการบน Table การเปลี่ยนหน้าของวิวจะเป็นการหมุนเปลี่ยนหน้าไปยังหน้าต่อไป

  

เพิ่มเติม

ฟังก์ชั่น setAnimationDuration:(NSTimeInterval) เวลา หน่วยวินาที

ฟังก์ชั่น setAnimationTransition: รูปแบบการเปลี่ยนหน้า
forView: ใส่ วิวของ Navigation Controller
cache:ต้องการให้แสดงหน้าเดิมหรือไม่ขณะแอนิเมท (YES/NO)

รูปแบบการเปลี่ยนหน้าอื่นๆ ที่น่าสนใจ (Curl)

ตัวพารามิเตอร์ของ setAnimationTransition เราสามารถใส่ค่า TransitionFlip หรือ TransitionCurl (ตามรูปด้านบน) รูปแบบการเปลี่ยนหน้าก็จะเปลี่ยนไป เช่นการใช้ UIViewAnimationTransitionCurlUp ผลลัพธ์จะออกมาตามรูปด้านล่าง เพื่อนๆ ก็ลองเปลี่ยนรูปแบบได้ตามใจชอบเลยนะครับ

เป็นอย่างไรบ้างครับ การเปลี่ยนรูปแบบการเปลี่ยนหน้าของ Navigation Controller ไม่ยากเลยใช่มั้ยครับ หากเพื่อนมีข้อสงสัยหรือแนะนำเพิ่มเติมคอมเม้นมาได้เลยนะครับ

Reference

adaydesign :)

About adaydesign

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

Posted on เมษายน 26, 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: