iPhone: UINavigationController setViewControllers


UINavigationController setViewController

พึ่งงงมาตะกี้เองครับ เลยเอามาเขียนเพื่อเก็บไว้เผื่อลืม อะเข้าเรื่องกันดีกว่า

UINavigationController setViewController เพื่อ ทำให้วิวที่มาแปะๆๆ ใส่นั้นสามารถเรียก self.navigationController เพื่อ push หน้าต่อไปใส่เข้าไปได้นะเอ๋อ

ในไฟล์ .xib ของ Tabbar จะต้องทำให้แต่ละ Tabbar เป็น NavigationController ด้วยนะ หากจะทำให้มันเปลี่ยน เพิ่มหน้าได้

code:

ตัวอย่างจาก การเลือกกด tabbar นะครับด้วยฟังก์ชั่น

-(void) tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController

เขียนการเปลี่ยน View ดังนี้

UINavigationController *navController = (UINavigationController*)viewController;
PRListTotalView *totalView = [[PRListTotalView alloc] initWithUserData:userdata];
[navController setViewControllers:[NSArray arrayWithObjects:totalView,nil]];

*PRListTotalView เป็นคลาสที่ผมเขียนขึ้นเองครับ

ผลลัพธ์คือ เราจะสามารถ push และ pop View Controller อื่นๆ ใส่เข้ามาได้

อีกหนึ่งวิธีในการเพิ่มวิวเข้า Tabbar ด้วยวิธีการเพิ่มเป็น subview (อ้างอิงจากฟังก์ชั่นเดิม)

PRListTotalView *totalView = [[PRListTotalView alloc] initWithUserData:userdata];
totalView.view.frame = CGRectMake(0, 68, 320, 365);
[viewController.view addSubview:totalView.view];
[totalView.view release];

วิธีนี้สามารถทำได้ แต่วิวที่แอดเป็น subview จะไม่สามารถเรียกใช้ self.navigationController ได้เท่านั้นเอง

สรุป

เราต้องเลือกใส่ให้ถูกวิธีนะครับ หากอยากจะเอาไปแปะใส่เฉยๆ ไม่มีเลื่อนไปหน้า ก้อใช้วิธี addSubview แต่หากอยากจะให้มี Navigation ด้วยแล้วหละก้อ ต้องทำการ setViewControllers นะครับ (ไม่ทราบแน่ชัดว่าจริงๆ แล้วมันใช้วิธีนี้หรือป่าว แต่รับรองทำวิธีก้อได้นะครับ)

adaydesing :)

About adaydesign

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

Posted on กุมภาพันธ์ 25, 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: