iPhone Developer Basic ProgramDay 3 View &ViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-...
Course Outline1. Introduction & Xcode2. Objective-C & Frameworks3. View &ViewController4. View &ViewController (2)5. Submi...
www.ibluecode.com/training.htmlDay 1 - 5 Slidewww.slideshare.net/eakkattiyaAdditional Courseeakkattiya@gmail.com086-673211...
Developing iOS Apps : Human Interface Design• Focus on the primary task.• Make usage easy and obvious.• Use user-centric t...
Developing iOS Apps :App Design• ]by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2...
BECTeroradioby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
ThailandYellowPagesby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
Thai M Serviceby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
HIPKINGDOMby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
Assumption Universityby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
UIWindow- ทุก Application จะต้องมี window- บน iOS จะมีเพียง 1 window- ใช้สําหรับนําViewController(s)มาวางบน UIWindow- ขนาด...
UITabBarController & UINavigationBarControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Su...
UITabBarControllerทําหน้าที่สลับViewController หลาย ๆ ตัวไปมาUITabBarItem ปุ่มของUITabBar สามารถแก้ไขได้by Eakapong Kattiy...
ใช้สําหรับแสดงViewControllerเป็นลําดับชั้นไปเรื่อย ๆ โดยสามารถย้อนกลับดูViewController ก่อนหน้าได้UINavigationControllerby...
UINavigationController- pushViewControllerใช้สําหรับเพิ่มViewController เข้าไปในUINavigationController- popViewControllerใ...
UINavigationItem.rightBarButtonItem.leftBarButtonItem.titleSunday, June 2, 13
by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111CreateTabbed ApplicationSunday, June 2, 13
by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111CreateTabbed Application : MyNavTabSunday, June ...
by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111StoryboardSunday, June 2, 13
Storyboard :Add Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, Jun...
Storyboard : Change Start Controller to Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66...
Storyboard : Set RootView Controller of Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66...
Storyboard : DeleteTab Bar Connection & RearrangeViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +...
Storyboard : Connect TableViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, ...
Storyboard : Connect SecondViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday,...
Storyboard :Tab Bar with Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Su...
UIViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
UIViewControllerเป็น Class ที่ใช้สําหรับการเขียนคําสั่ง (Logic) เพื่อควบคุมการแสดงViews เช่นการสลับViews แสดงข้อมูลบนView ...
UIView- CGRectพื้นที่สี่เหลี่ยมในการวาด (x ,y ,width ,height)- CGRectMake : (CGRect)คําสั่งในการสร้าง CGRect- setBackgroun...
UIViewSubView (50,50,100,100)SuperView (10,10,300,200)self.view (0,0,320,480)- เป็นการวาดพื้นที่สี่เหลี่ยมเพื่อแสดงบนหน้าจ...
UIViewCGRect rect1 = CGRectMake(10, 10, 300, 200);UIView *myView1 = [[UIView alloc]initWithFrame:rect1];[myView1 setBackgr...
UIViewController & UIView-Control ที่ทําการแสดงผลที่เป็น Class UI (User Interfaces)นั้นสืบทอดมาจาก Class UIView เหมือนกันห...
UIViewController- presentModalViewControllerแสดงViewController ขึ้นมาทับViewControllerอื่น ๆ- dismissModalViewControllerAn...
UIViewController & UIView-Control ที่ทําการแสดงผลที่เป็น Class UI (User Interfaces)นั้นสืบทอดมาจาก Class UIView เหมือนกันห...
Shared Applicationเปิด Application ใน iPhone เช่น โทรศัพท์ ส่งข้อความ ส่งอีเมล์ safari google map youTubeLocal Fileเล่นไฟล...
NSURL *url = [NSURL URLWithString:@"tel:0866732111"];TELNSURL *url = [NSURL URLWithString:@"sms:0866732111"];SMSNSURL *url...
NSURL *url = [NSURL URLWithString:@"http://www.sanook.com"];SAFARINSURL *url = [NSURL URLWithString:@"http://maps.google.c...
NSURL *url = [NSURL URLWithString:@"http://www.youtube.com/watch?v=OGZe27ZBajE" ;[[UIApplication sharedApplication] openUR...
Local FileNSURL *plistURL = [[NSBundle mainBundle] URLForResource:@"table"withExtension:@"plist"];NSURL *pdfURL = [[NSBund...
Remote FileNSString *remoteFile = @"http://exclusivesiam.comeze.com/exclusive_siam/imagesForIphone/Pororo%20opening-1.mp3"...
Http Live StreamingNSString *liveStreaming = @"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"NSUR...
Upcoming SlideShare
Loading in …5
×

(1 July 2013) iOS Basic Development 3 - UITableViewController & Data Source

978
-1

Published on

iOS Basic Development View & Controller
by Eakapong Kattiya
eakkattiya@gmail.ccom
www.ibluecode.com
+66 086-673-2111

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
978
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
64
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

(1 July 2013) iOS Basic Development 3 - UITableViewController & Data Source

  1. 1. iPhone Developer Basic ProgramDay 3 View &ViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  2. 2. Course Outline1. Introduction & Xcode2. Objective-C & Frameworks3. View &ViewController4. View &ViewController (2)5. Submit App StoreCourse Outlineby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  3. 3. www.ibluecode.com/training.htmlDay 1 - 5 Slidewww.slideshare.net/eakkattiyaAdditional Courseeakkattiya@gmail.com086-6732111twitter.com/eakkattiyafacebook.com/eakapong.kattiyaResourcesby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  4. 4. Developing iOS Apps : Human Interface Design• Focus on the primary task.• Make usage easy and obvious.• Use user-centric terminology.• Make targets fingertip-size.• De-emphasize settings.• Use user interface (UI) elements consistently.• Use subtle animation to communicate.• Ask people to save only when necessary.http://tinyurl.com/3de5ow8by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  5. 5. Developing iOS Apps :App Design• ]by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  6. 6. BECTeroradioby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  7. 7. ThailandYellowPagesby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  8. 8. Thai M Serviceby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  9. 9. HIPKINGDOMby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  10. 10. Assumption Universityby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  11. 11. UIWindow- ทุก Application จะต้องมี window- บน iOS จะมีเพียง 1 window- ใช้สําหรับนําViewController(s)มาวางบน UIWindow- ขนาด 320 x 480 (iPhone)640 x 960 (iPhone Retina)640 x 1136 (iPhone 5 Retina)768 x 1024 (iPad)768 x 1024 (iPad Retina)windowby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  12. 12. UITabBarController & UINavigationBarControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  13. 13. UITabBarControllerทําหน้าที่สลับViewController หลาย ๆ ตัวไปมาUITabBarItem ปุ่มของUITabBar สามารถแก้ไขได้by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  14. 14. ใช้สําหรับแสดงViewControllerเป็นลําดับชั้นไปเรื่อย ๆ โดยสามารถย้อนกลับดูViewController ก่อนหน้าได้UINavigationControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  15. 15. UINavigationController- pushViewControllerใช้สําหรับเพิ่มViewController เข้าไปในUINavigationController- popViewControllerใช้สําหรับลบViewController ออกจากUINavigationControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  16. 16. UINavigationItem.rightBarButtonItem.leftBarButtonItem.titleSunday, June 2, 13
  17. 17. by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111CreateTabbed ApplicationSunday, June 2, 13
  18. 18. by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111CreateTabbed Application : MyNavTabSunday, June 2, 13
  19. 19. by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111StoryboardSunday, June 2, 13
  20. 20. Storyboard :Add Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  21. 21. Storyboard : Change Start Controller to Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  22. 22. Storyboard : Set RootView Controller of Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  23. 23. Storyboard : DeleteTab Bar Connection & RearrangeViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  24. 24. Storyboard : Connect TableViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  25. 25. Storyboard : Connect SecondViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  26. 26. Storyboard :Tab Bar with Navigation Controllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  27. 27. UIViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  28. 28. UIViewControllerเป็น Class ที่ใช้สําหรับการเขียนคําสั่ง (Logic) เพื่อควบคุมการแสดงViews เช่นการสลับViews แสดงข้อมูลบนView และลบViewsby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  29. 29. UIView- CGRectพื้นที่สี่เหลี่ยมในการวาด (x ,y ,width ,height)- CGRectMake : (CGRect)คําสั่งในการสร้าง CGRect- setBackgroundColor: (UIColor*)กําหนดสีพื้นหลัง- addSubView : (UIView*)เอาView1 (subView) หนึ่งไปแปะกับView2 (ParentView)by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  30. 30. UIViewSubView (50,50,100,100)SuperView (10,10,300,200)self.view (0,0,320,480)- เป็นการวาดพื้นที่สี่เหลี่ยมเพื่อแสดงบนหน้าจอ- สามารถสร้างด้วย Interface Builder หรือ codingby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  31. 31. UIViewCGRect rect1 = CGRectMake(10, 10, 300, 200);UIView *myView1 = [[UIView alloc]initWithFrame:rect1];[myView1 setBackgroundColor:[UIColor greenColor]];[self.view addSubview:myView1];CGRect rect2 = CGRectMake(50, 50, 100, 100);UIView *myView2 = [[UIView alloc]initWithFrame:rect2];[myView2 setBackgroundColor:[UIColor blueColor]];[myView1 addSubview:myView2];by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  32. 32. UIViewController & UIView-Control ที่ทําการแสดงผลที่เป็น Class UI (User Interfaces)นั้นสืบทอดมาจาก Class UIView เหมือนกันหมด เช่นUILabel , UITextField , UIButtonดังนั้น UIViewController จึงสามารถเขียนคําสั่งควบคุมControl ได้ทุกตัวby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  33. 33. UIViewController- presentModalViewControllerแสดงViewController ขึ้นมาทับViewControllerอื่น ๆ- dismissModalViewControllerAnimatedยกเลิกการแสดงViewController(ใช้คู่กับ presentModalViewController)by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  34. 34. UIViewController & UIView-Control ที่ทําการแสดงผลที่เป็น Class UI (User Interfaces)นั้นสืบทอดมาจาก Class UIView เหมือนกันหมด เช่นUILabel , UITextField , UIButtonดังนั้น UIViewController จึงสามารถเขียนคําสั่งควบคุมControl ได้ทุกตัวby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  35. 35. Shared Applicationเปิด Application ใน iPhone เช่น โทรศัพท์ ส่งข้อความ ส่งอีเมล์ safari google map youTubeLocal Fileเล่นไฟล์จากใน Bundle ของ Application เองRemote Fileเล่นไฟล์จากบน ServerHttp Live Streamingเล่นไฟล์จากบน Server แบบ Streaming* ต้องเป็นแบบ Http Live Streaming เท่านั้น ไม่สามารถใช้ RSTP หรือ Flash Streaming ได้NSURLby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  36. 36. NSURL *url = [NSURL URLWithString:@"tel:0866732111"];TELNSURL *url = [NSURL URLWithString:@"sms:0866732111"];SMSNSURL *url = [NSURL URLWithString:@"mailto:eakkattiya@gmail.com"];MAILTO[[UIApplication sharedApplication] openURL:url];by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  37. 37. NSURL *url = [NSURL URLWithString:@"http://www.sanook.com"];SAFARINSURL *url = [NSURL URLWithString:@"http://maps.google.com/maps?saddr=Current_Location@13.1234,100.1234&daddr=Destination@13.0124,100.2234"];GOOGLE MAP[[UIApplication sharedApplication] openURL:url];by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  38. 38. NSURL *url = [NSURL URLWithString:@"http://www.youtube.com/watch?v=OGZe27ZBajE" ;[[UIApplication sharedApplication] openURL:url];YouTubeby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  39. 39. Local FileNSURL *plistURL = [[NSBundle mainBundle] URLForResource:@"table"withExtension:@"plist"];NSURL *pdfURL = [[NSBundle mainBundle] URLForResource:@"info"withExtension:@"pdf"];NSURL *movieURL = [[NSBundle mainBundle] URLForResource:@"movie"withExtension:@"mp4"];NSURL *musicURL = [[NSBundle mainBundle] URLForResource:@"music"withExtension:@"mp3"];NSURLby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  40. 40. Remote FileNSString *remoteFile = @"http://exclusivesiam.comeze.com/exclusive_siam/imagesForIphone/Pororo%20opening-1.mp3"NSURL *myURL = [NSURL URLWithString:remoteFile];NSURLby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  41. 41. Http Live StreamingNSString *liveStreaming = @"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"NSURL *myURL = [NSURL URLWithString:liveStreaming];NSURLby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  42. 42. UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  43. 43. •HTTPhttp://www.netdesign.ac.th•PDFOnline - Offline pdf file• Custom HTML Content<html><body>Hello World</body></html>UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  44. 44. Class : UIWebViewFramework : UIKitSample Code : TransWebInit : Interface BuilderProperty : scalesPageToFitMethod : loadRequest:loadHTMLString:baseURL:UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  45. 45. การเรียกใช้งาน HTTP1. create UIWebView Outlet(Interface Builder)2. set Delegate3. create NSURL4. create NSURLRequest5. call loadRequest@implementation WebViewController- (void)viewDidLoad{[super viewDidLoad];NSURL *wwwURL = [NSURL URLWithString:@"http://www.sanook.com"];NSURLRequest *request = [[NSURLRequest alloc]initWithURL:wwwURL];[myWebView loadRequest:request];}UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  46. 46. การเรียกใช้งาน PDF1. create UIWebView Outlet(Interface Builder)2. set Delegate3. create NSURL4. create NSURLRequest5. call loadRequest@implementation WebViewController- (void)viewDidLoad{[super viewDidLoad];NSURL *pdfURL = [[NSBundle mainBundle] URLForResource:@"info"withExtension:@"pdf"];NSURLRequest *request = [[NSURLRequest alloc]initWithURL:pdfURL];[myWebView loadRequest:request];}UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  47. 47. การเรียกใช้งาน HTML1. create UIWebView Outlet(Interface Builder)2. set Delegate3. create HTML String4. call loadHTMLString: baseURL:@implementation WebViewController- (void)viewDidLoad{[super viewDidLoad];NSString *myHTML =@"<html><body><h1>Hello, world!</h1></body></html>";[myWebView loadHTMLString:myHTML baseURL:nil];}UIWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  48. 48. WorkshopmyWebViewby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  49. 49. UITableViewControllerby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  50. 50. UITableViewSunday, June 2, 13
  51. 51. Sunday, June 2, 13
  52. 52. Sunday, June 2, 13
  53. 53. Sunday, June 2, 13
  54. 54. Sunday, June 2, 13
  55. 55. Sunday, June 2, 13
  56. 56. Sunday, June 2, 13
  57. 57. Sunday, June 2, 13
  58. 58. Sunday, June 2, 13
  59. 59. Sunday, June 2, 13
  60. 60. Sunday, June 2, 13
  61. 61. Customize UITableView Styleby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  62. 62. Customize UITableViewCell Styleby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  63. 63. Property Listby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  64. 64. เป็นวิธีที่ช่วยให้เก็บข้อมูล ขนาดเล็ก อย่างง่ายในโครงสร้างแบบ XML โดยรองรับชนิดข้อมูล■ Arrays■ Dictionaries■ Strings■ numbers■ dates■ raw data• NSUserDefaults classใช้โครงสร้างของ plist ในการเก็บข้อมูลเช่นกันProperty Listby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  65. 65. ■ ขนาดข้อมูลใหญ่กว่า 300 KB■ ต้องการเก็บข้อมูลแบบ CustomType■ ข้อมูลที่ซับซ้อน หลายชั้นProperty Listเมื่อไรที่ไม่ควรใช้ plistby Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  66. 66. Property List : Root type NSArray , NSDictionary<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Name</key><string>John Doe</string><key>Phones</key><array><string>408-974-0000</string><string>503-333-5555</string></array></dict></plist>by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111Sunday, June 2, 13
  67. 67. by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Create new table.plist (Root Array)Sunday, June 2, 13
  68. 68. by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Create new table.plist (Root Array)Sunday, June 2, 13
  69. 69. @interface MyTableViewController : UITableViewController{NSArray *datasource ;}by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Load Datasource from plist@implementation MyTableViewController- (void)viewDidLoad{[super viewDidLoad];NSURL *url = [[NSBundle mainBundle] URLForResource:@"table"withExtension:@"plist"];datasource = [NSArray arrayWithContentsOfURL:url];}Sunday, June 2, 13
  70. 70. #pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{return 1;}- (NSInteger)tableView:(UITableView *)tableViewnumberOfRowsInSection:(NSInteger)section{return [datasource count];}by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Set Section & RowSunday, June 2, 13
  71. 71. - (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *CellIdentifier = @"Cell";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierforIndexPath:indexPath];// Configure the cell...NSInteger section = indexPath.section ;NSInteger row = indexPath.row ;NSDictionary *rowData = [datasource objectAtIndex:row];cell.textLabel.text = [rowData valueForKey:@"title"];cell.detailTextLabel.text = [rowData valueForKey:@"subTitle"];NSString *imageName = [rowData valueForKey:@"image"];NSData *data = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:imageName]];cell.imageView.image = [UIImage imageWithData:data];//cell.imageView.image = [UIImage imageNamed:imageName];return cell;}by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Set CellSunday, June 2, 13
  72. 72. #pragma mark - Table view delegate- (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)indexPath{WebViewController *vc =[self.storyboard instantiateViewControllerWithIdentifier:@"webview"];[self.navigationController pushViewController:vc animated:YES];NSDictionary *rowData = [datasource objectAtIndex:indexPath.row];NSString *urlString = [rowData valueForKey:@"link"];[vc setURL:urlString];}by Eakapong Kattiya www.ibluecode.com eak.k@ibluecode.com +66 086-673-2111UITableViewController : Set Action when select rowSunday, June 2, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×