iPhone/iPad Tutorials

iPhone Tutorials

หน้านี้จะรวบรวมบทความที่เกี่ยวข้องกับการศึกษาการเขียนโปรแกรมบน iPhone/iPad ให้ได้เลือกศึกษากันนะครับ โดยผมได้แบ่งออกเป็นหมวด 4 หมวด ได้แก่ Basic Tutorial, Intermediate Tutorials, Advance Tutorials และ Website Tutorials โดยหลักการแบ่งหมวดนั้นยึดจากหนังสือ iPhone Programming หลายๆ เล่มครับ บทความทั้งหมดนี้เรียบเรียงมากจาก หมวด [DEV] [Link] iPhone และ Recommend Website

หากเพื่อนๆ คนไหนมีข้อแนะนำเพิ่มเติม หรืออยากให้เพิ่มเรื่องอะไรเข้ามาใน Tutorial นี้ สามารถคอมเม้นเข้ามาได้นะครับ :)

เพื่อเพิ่มความเข้าใจในเนื้อหาของบทความต่างๆ ผมจะมีสัญลักษณ์ของ (การใช้งาน Xcode 4.2) ,  (รองรับ iOS 5) และ  (มีวีดีโอ) เอาไว้หลังชื่อบทความนะครับ จะได้รู้ว่าอันไหนจะรองรับเทคโนโลยีใหม่ๆ บ้างเน้อ

iPhone/iPad Basic Tutorials

Xcode 4.5 (Developer Preview in June 2012) 

Xcode Tool Fix bug 

Xcode 4.2 

Xcode4

Simulator

NSString

NSArray

Basic UI: View Label Button Text

Event

Table View

Navigation Controller

Activity Indicator

UIScrollView

UIActionSheet

UIWebView

NSURLErrorDomain

——————————————————————————————————–

iPhone/iPad Intermediate Tutorials

Custom Table View

TabBar

UIImage

Image Picker

Camera

Dial Number

Database

Connect Server and Internet

Webservice

MapKit and Location based

Share Social Network

Media Player Framework

——————————————————————————————————–

iPhone/iPad Advance Tutorials

iAd and AdMob

Augmented Reality

PhoneGap

——————————————————————————————————–

iPhone/iPhone Website Tutorials

———————————————————————————————————-

iOS Application Workshop

———————————————————————————————————-

update: 26/6/2012

adaydesign :)

  1. โหวว ทำไว้เยอะมากๆ เลยครับ ขอบคุณครับ

  2. พี่ขอถามอีกเรื่อง ว่าแล้วกรณีไหนใช้ view base กรณีไหนใช้ window basde หรือแล้วแต่เราอ่ะ

    • กรณีที่ใช้ window base ก็มีแค่ project template ที่ xcode ให้มา มันไม่รองรับสำหรับหน้าตาแอพของเรา เราจึงต้องทำขึ้นเองครับ

      แต่ปกติเราก้อเลือกที่จะใช้ template ที่มีมาให้นั้นแหละ แต่เราต้องรู้ก่อนว่าเราจะทำอะไร มีฟังก์ชั่นอะไรบ้าง หน้าตาโปรแกรมเป็นยังไง เท่านั้นเอง

  3. เนื่อหาในนี้ถือว่าเป็นแหล่งความรู้ชั้นดี ขอบคุณมากสำหรับการเผยแพร่ความรู้ให้นักพัฒนาใหม่ๆได้มาศึกษาข้อมูลน่ะค่ะ ออ แล้วน้องก็มีเรื่องถามหน่อยว่าถ้าเราสร้างแอพตัวหนึ่งขึ้นมา ที่มีการใช้ sqlite ด้วย แล้วตัวแอพมีเงื่อนไขที่ว่า ถ้าต่อเน็ตให้บันทึกข้อมูลลงใน server ภายนอกแทน แต่ถ้าไม่ต่อให้บันทึกใน sqlite แล้วค่อยไปอัพเดทอัตโนมัติตอนเปิดแอพคร่าวหน้าในกรณีต่อเน็ตด้วย ซึ่งฐานข้อมูลนี้จะต้องทำการ ซิงกัน เหมือนข้อมูลต้องมีการอัพเดทให้เหมือนกันตอนที่ต่อเน็ตนะค่ะ น้องเลยไม่ทราบว่ามันทำได้หรือเปล่า แล้วการที่ในตาราง sqltie มีข้อมูลเยอะจะทำให้แอพมันช้าด้วยหรือเปล่าค่ะ

    • การทำให้ข้อมูลซิงกันระหว่าง ฐานข้อมูลในเครื่องกับบนเซอร์เวอร์สามารถทำได้โดยการ กำหนดเวอร์ชั่นให้กับชุดข้อมูล นั้นๆ ครับ (เหมือนกันแพทเกมออนไลน์ที่จะเช็คเวอร์ชั่นก่อนดาว์นโหลดข้อมูลมา) จะเป็นแบบ text file ก็ได้หรือเก็บไว้ฐานข้อมูลก้อได้ โดยระบุว่า เวอร์ชั่นนี้ มี record ไหนถึงไหน พอเครื่องมือถือกดอัพเดท/อัพเดทอัตโนมัติ เราก้อแค่เช็คเวอร์ชั่นของชุดข้อมูลก่อน หากเวอร์ชั่นตรงกันก้อไม่ต้องอัพเดทอะไร แต่หากเวอร์ชั่นไม่ตรงกัน เราต้องโหลดดาต้าตัวใหม่มาให้ครับ

      sqlite มีข้อมูลเยอะจะทำให้การ query ช้าแน่นอนครับ ยิ่งเรามี relationship หลายๆ ตาราง ยิ่งทำให้ช้าครับ
      ส่วนมากด้าตาในเครื่องจะเก็บเฉพาะที่จำเป็นที่ต้องเก็บไว้เท่านั้น นอกนั้นก้อใช้วิธีอ่านแบบ feed ก็ได้ครับ

  4. ผมจะพัฒนาการฝึกเขียนตัวอักษรไทยกับอังกฤษ จะเริ่มอ่านยังไงดีครับ มีข้อแนะนำไหมครับพี่ คือตอนนี้ยังไม่มีความรู้ด้านภาษา object C มากนัก แต่ C กับ java ได้แล้วครับ

    • เป็นการเขียนตามตัวปะแบบหนังสือหัดเขียนสมัยเด็กๆ ใช่มั้ยครับ
      1 เริ่มแรกเลย ก็ศึกษา Objective-C ที่จะใช้เขียนบน iphone ipad ก่อนเลยครับ ศึกษาโครงสร้าง การประกาศตัวแปร การเรียกใช้ฟังก์ชั่น
      2 การใช้ NSString NSArray จะได้ใช้บ่อย เน้นพื้นฐานเลยนะครับ
      3 หัดใช้ Xcode ครับ จะเวอร์ชั่น 4.0 4.1 4.2 ก็ได้
      4 เริ่มการใช้งาน View ต่างๆ เชื่อม View กับ โค้ด ให้คล่องครับ ใช้ทั้งการประกาศตัวแปร และลาก event
      5 ใช้ ฟังก์ชั่น touch หรือ Gesture Recognizer ตัวนี้จะทำให้รู้ตำแหน่งของ นิ้วที่ touch บนหน้าจอ
      6 เรื่อง การวาดรูป เส้น สี ต่างๆ ตัวอย่าง http://blog.effectiveui.com/?p=8105
      7 ถ้าจะมีการเปรียบเทียบ ให้เขียนตามต้นแบบด้วย ก็ต้องรู้เรื่องการ รู้จำ pattern มีเทคนิคที่ง่ายๆ จนถึงแบบยากครับ ลองหาดูครับ pattern recognition

      สำคัญสุดคือ พื้นฐาน การเขียน Objective-C นะครับ เพราะมันจะทำให้เราดัดแปลงอะไรได้เยอะเลยเกี่ยวกับงานของเรา จะได้สบายตอนประยุกต์ใช้งานจริงนะ ส่วนโค้ดส่วนอื่นๆ เราไปหาดูโค้ด ก้อรู้เรื่องแล้วหละครับหากพื้นฐานเราได้

  5. ใช่ครับ เป็นการแบบคัดตัวอักษรไทย อักษรอังกฤษ ที่เด็กๆ อนุบาลฝึกคัดกันครับ
    งานของผมเป็นงานเกี่ยวกับกราฟฟิคบน iOS ใช่ไหมครับ

    ผมจะลองศึกษาดูก่อนนะครับ ยังไงก็ขอบคุณ คุณ adaydesign มากครับ
    พอดีผมจะต้องทำ Senior Project จบของมหาวิทยาลัย ก็เลยไม่มีที่ปรึกษา

    ถ้ามีอะไรปรึกษาจะขอปรึกษาเพิ่มเติมอีกนะครับ ขอบคุณล่วงหน้านะครับ

  6. พี่น้องมีคำถามมาถามดังนี้ค่ะ
    1.ตัว view controller ที่อยู่ในหน้า story board อ่ะมันสามารถย่อขยายได้เหมือนรูปป่ะ หรือว่าต้องขนาดตามที่เค้าให้มาแค่นั้น

    2.พี่น้องมีปัญหาตรงที่ได้สร้าง Table View Controller แล้วก็ปรับตารางเป็นแบบ Group แล้วก็ทำการลากพวก label textfield button อื่นๆ มาวางบนแถวของตาราง อันนี้เป็น view ที่ถูกเลือกมาจากแถวของตารางก่อนหน้านี้อีกที แต่พอรัน แล้วมันไม่ขึ้นอ่ะ ตารางไม่ขึ้น ปุ่มไรต่างๆที่ลากมาวางไม่ขึ้น คือน้องอยากทราบว่ามันต้องเซตไรเพิ่มเติม ที่ต่างจากตารางธรรมดาไม่ใช่แบบ group หรือเปล่า

    • สวัสดีครับ ขอตอบทีละข้อเลยเนอะ
      ข้อ 1 view controller ใน storyboard เปลี่ยนขนาดไม่ได้ครับ ต้องตามขนาดหน้าจอ iPhone iPad เท่านั้น
      ข้อ 2 การเรียกใช้ TableView นอกจากเราจำลอง prototype จาก storyboard แล้ว เราต้องเชื่อม datasource จาก tableview ไปยังไฟล์ viewcontroller ด้วย จากนั้นเราก็เขียนฟังก์ชั่น datasource เพิ่มได้แก่

      -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section เพื่อบอกจำนวนแถวในแต่ละ section ถ้าเราทำเป็น group ก้อต้องระบุจำนวนสมาชิกในแต่ละ group

      -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
      เพื่อระบุว่าแต่ละแถวจะให้แสดง cell ในลักษณะไหนบ้าง
      อันนี้เราต้องไปตั้งชื่อให้กับ tableviewcell ของเราด้วยนะ แล้วก้อเรียกใช้ในคำสั่ง
      [self.aTable dequeueReusableCellWithIdentifier:@”a1″];

      เท่านี้ cell ที่เราจำลองใน storyboard มันก้อจะขึ้นมาให้เห็นแล้วนะครับ

  7. ถามเพิ่มอีกนิดค่ะ

    Search Bar กับ Search Bar and Search Display ต่างกันอย่างไร แล้วจะใช้ตัวไหน ถ้าเราจะทำ search จาก table view controller อ่ะค่ะ

    คำถามต่อมาค่ะ แล้วถ้าเราจะวาง Bar Button Item บน toolbar ด้านบนซึ่งมันจะสองฝั่งคนละด้านของ Tiltlte คือซ้ายกับขวา ถ้าวางด้านละปุ่มน้องว่างได้ค่ะ ที่นี้ถ้าอยากวางด้านละมากกว่าปุ่มเดียวทำไงอ่ะค่ะ ลากตัว Fixed มาแล้วก็ไม่เห็นวางได้ พอวางไปมันก็ไม่ปรากฏบนแถบบาร์นั้น แล้วพอเอา Bar button มาอวางอีก มันก็ไปซ้อนอันเดิม อ่ะค่ะ

    • สวัสดีครับ ตามมาตอบเพิ่มอีก
      ข้อ 1 Search Bar กับ Search Bar & Search Display ต่างกันที่การตั้งค่าการเชื่อม ตัวแปรและ delegate ครับ เพราะตัว Search Bar & Search Display จะทำการตั้งชื่อตัวแปรและเชื่อม delegate กับ viewcontroller ให้อัตโนมัติ
      หากเรารู้จักขั้นตอนการทำงานของมัน จะเลือกใช้อันไหนก็ได้ทั้งนั้นครับ ถ้าเราเลือก Search Bar ธรรมดา เราแค่มาตั้งชื่อตัวแปร แล้วก้อเชื่อม delegate เองเท่านั้นเอง

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

      ขอบคุณสำหรับทุกคำถามเลยนะครับ หากไม่เข้าก็ถามมาอีกได้นะ ;)

  8. ขอบคุณสำหรับคำตอบทุกข้อนะค่ะพี่ มีถามต่ออีก
    คือ ที่น้องถามว่า ย่อตัว storyboard หมายถึงเวลาน้องเลือก ipad พอคลิกเพื่อจะวาง ปุ่มอะไรต่างๆลงใน view controller ตัวหนึ่ง หน้าจอเสมือน ipad ตัวนี้ใหม่ใหญ่เต็มเลยอ่ะ แล้วถ้าทำ storyboad ของ ipad หลาย view นี้มันก็ทำให้มันเลื่อนยากๆ เลยอยากรู้ว่ามันย่อได้ไหมนะค่ะ ความหมายมันอันเดียวกับพี่เข้าใจไหมอ่ะ เห็นมีแต่ตัวซูมเข้าออก แต่อันนั้นมันซูมทั้งหมดของทุกตัว view controller ไม่ใช่อันเดียว

    ส่วนอีกคำถาม ถ้าเราเอาปุ่มมาวางบน หน้า interface สักตัว หรือจะเป็น bar button สักตัว แล้วพอคลิกให้ มันมีเด้งอีกหน้าจอคล้ายป็อบอัพ คือคล้ายกรณี split view ของ ipad เวลาที่เราทำเป็นแนวตั้ง เมนูที่อยู่ด้านซ้ายมันจะซ่อน แล้วให้เราไปคลิกที่ปุ่มบาร์บัตตอนอีกที น้องเลยอยากถามว่าถ้าจะทำแบบคลิกปุ่มสักปุ่มแล้วให้มันเด้งมาให้เลือกเหมือน split view งั้นทำไงอ่ะค่ะ

    • มาอธิบายเพิ่มกลัวพี่งง ที่บอกว่าเหมือน split view ก็คล้ายที่มีหน้าต่าง window ใหม่อันเล็กๆขึ้นมา พอกดที่เดิมก็หาไป หรือว่าเลือกแล้วก็หายไปนะค่ะ เพราะน้องจะสร้างปุ่มนี้ไว้บน top bar แล้วพอคลิกจะให้ ก็จะมีหน้าจอเล็กๆให้เลือกว่าจะเรียงข้อมูลจากมากหรือน้อย บน table view นะค่ะ

      • แสดงว่าผมตอบไม่ตรงคำถามแฮะ ตรงซูมของ storyboard ปกติผมก็กด +/- ย่อขยายเอานั้นแหละ ถ้ามีหลายๆ หน้าจอมันก้อจะเลื่อนยากหน่อย T-T ไม่รู้จะตอบยังไงเหมือนกัน เอาเป็นว่าผมก็ใช้แค่ปุ่ม +/- ครับ ถ้าจะดูภาพรวมกับดูเฉพาะ viewcontroller

        ส่วนจะให้มี window ใหม่อันเล็กเข้ามาใช้ UIPopoverController ครับ
        ดูตัวอย่าง http://www.raywenderlich.com/1056/ipad-for-iphone-developers-101-uipopovercontroller-tutorial :)

        • น้องไปดูใหม่อีกรอบพี่ ถ้าเลือก แบบสร้าง storyboard มันย่อไม่ได้ แต่ถ้าเป็น .nib นี้ย่อได้ โดยไปคลิกที่เครื่องมือ show the attribute inspector แล้วเลือกเป็น freedom จะทำให้มันย่อตัว .nib ได้ เหมือเอาไว้ใช้ทำ UIPopoverController

  9. พี่ค่ะ UIPopoverController มันใช้กับ iphone ได้ใช่ไหมอ่ะ หรือว่าได้แค่ ipad น้องทำตามจากคลิปนี้ http://www.youtube.com/watch?v=gaaLMKuPwfU ประยุกต์ใช้แบบที่ใช้ storyboard แต่ยังไม่ได้ แล้วจากคลิปนี้ใช้สำหรับกรณีที่สร้าง xib น้องอยากถามว่ามีกรณีที่ใช้ กับ storyboard หรือเปล่าค่ะ

    • มาช่วยตอบเรื่อง UIPopoverController ว่าใช้กับ iPhone ไม่ได้ครับ
      แต่มีคนเขียน class คล้ายๆ กันมาให้ใช้
      ส่วนเรื่อง storyboard อันนี้กำลังศึกษาอยู่เหมือนกัน รอเจ้าของ blog มาตอบนะครับ

  10. พี่น้องทำ UIPopoverController ใน iphoe ประยุกต์ใช้กับ storyboard แบบ Storyboard Instantiate ViewController

    ตัวอย่างโค้ด

    -(IBAciton)btSort:(id)sender{

    SortSystem *sView=(SortSystem*)[self.storyboard instantiateViewControllerWithIdentifier:@”valueSort”];

    UIPopoverController *pop=[[UIPopoverController alloc]initWithContentViewController:sView];
    pop.delegate=self;
    CGRect sizeSort=CGRectMake(0, 0, 200, 220);
    [pop setPopoverContentSize:sizeSort.size
    animated:NO];
    [pop presentPopoverFromRect:sizeSort inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

    }

    มันไม่ได้อ่ะค่ะ มันติด SICABRT

  11. พี่ค่ะ พอดีหนูทำโปรเจค ฐานข้อมูลเกี่ยวกับรายชื่อวิชา ตอนนี้หนูดึงข้อมูลรายชื่อวิชา จากsqlite มาแสดงบน tableviewได้แล้ว แต่มันติดตรงที่ไม่รู้จะกำหนด tableview ยังไงให้แบ่ง section ตามหมวดวิชาอะ ตาราง subeject ใน sqlite ที่หนูสร้างไว้มี 3คอลัม คือ 1.รหัสวิชา 2.ชื่อวิชา 3.หมวดวิชา คือหนูต้องการให้มันแบ่ง section ตามหมวดวิชาในฐานข้อมูลอะ ประมานว่า section แรกเปนชื่อหมวดวิชาภาษาอังกฤษ แล้วในsection นี้ ก็จะแสดงชื่อวิชา เช่น ภาษาอังกฤษ1,2,3,4 ไปจนหมด แล้วก็ขึ้น section ใหม่เปนหมวดวิชาอื่น ไม่ทราบว่าควรจะเริ่มไงดีค่ะ ในส่วน numberOfSectionTableView กับ numberOfRowInSection ควรจะกำหนดยังไงดีค่ะ

    • เริ่มแรก ในส่วนของการจัดเก็บข้อมูล เก็บด้วย Dictionary ก็ได้นะครับ
      key เป็นชื่อ หมวด
      object เป็น Array ของชื่อวิชาต่างๆ

      ตัวอย่าง
      key object
      eng array(eng1,eng2,eng3)
      math array(math1,math2,math3,math4)
      chem array(chem1,chem2,chem3)

      2. ใส่ค่าในฟังก์ datasource ของ table
      numberOfsection ก็ใส่ = จำนวน key (หมวดทั้งหมด)
      ืnumberOfRowInSection ก็ใส่ สมาชิกของอาเรย์ของแต่ละหมวด โดยที่ต้อง if-else ด้วย

      ตัวอย่าง ดูคร่าวๆ แล้วกัน
      if(key==”eng”) return 3; // array.count
      else if(key==”math”) return 4;
      else if(key==”chem”) return 3;

      3. ใส่การแสดงค่าใน cellForRowAtIndexPath
      ตรงนี้เราก็ต้องเช็คก่อนว่าเป็น indexPath.section ไหน และ indexPath.row เท่าไร
      เช่น
      section = 1
      row = 2
      เราจะได้คำว่า math3

      4. ตั้งค่าชื่อ section
      ชื่อเมธรอด TitleSection อะไรสักอย่าง ตรงนี้ก็เช็ค section เหมือนกัน แล้ว return ค่า key ออกไป

      ขั้นตอนทั้งหมดเป็นแบบคร่าวๆ ครับอาจจะไม่ค่อยรู้เรื่อง แต่ส่วนที่ควบคุมการแสดงของ tableview อยู่ที่ data (ต้องเก็บให้เรียกใช้งานได้ง่าย ไม่ใช้ Array ก็ Dictionary) และการกำหนดการแสดงผลใน indexPath.section และ indexPath.row ต้องใช้ if-else ตรวจสอบเสมือน

  12. อยากได้ตัวอย่างการแสดง MapKit ใน Tab Bar หรือ step ในการทำน่ะค่ะ พอดีว่าลองทำแล้วพอเลือกที่ tab bar ที่เรียกใช้ mapkit app ก็ปิดไปทุกครั้งเลยค่ะ
    ปล.ยังงงงวยกับ concept delegate อยู่น่ะค่ะ ขอบคุณล่วงหน้านะคะ

  13. ช่วงนี้ผมไม่ค่อยได้อัพเดทบทความเท่าไรนะครับ บางครั้งหากคำถามที่ ต้องตอบด้วยการอธิบายยาวๆ แล้วมีรูปประกอบด้วยนิ ผมอาจจะไม่ได้อธิบายชัดเจนนัก ถ้าให้ตอบในกระทู้ ดังนั้นผมจะหาลิ้งที่เป็นตัวอย่างมาให้ก่อนแล้ว เนอะ ขอบคุณทุกคำถามนะครับ ^^

  14. ขอบคุณนะคะสำหรับตัวอย่าง แต่ว่าตอนนี้ใช้ xcode4.1 iOS4.3 Library อยู่น่ะคะ ไม่ได้ใช้ storyboard ค่ะ

    • ผมต้องขอโทษด้วยจริงๆ ผมให้ลิ้งตัวอย่างไปผิดอัน ถามเรื่อง Map ให้ตัวอย่าง Table View ซะนิ เหอะๆ

      ผมว่าก่อนอื่นเราต้องเข้าใจเรื่อง Tabbar ก่อนนะครับ ว่ามันกดดูแต่ละ ViewController ยังไง
      แล้วเลือก ViewController ที่ต้องการ แล้วค่อยใส่ Map เข้าไป พูดเหมือนง่ายแฮะสงสัยต้องมีตัวอย่างจริงๆ นะเนี่ย จะลองหามาให้นะครับ

      ส่วนเรื่อง Mapkit ลิ้งที่ผมเก็บไว้ เขาสอนตั้งแต่เริ่มต้น จนถึงการเรียกจุดพิกัดที่เราอยู่ได้เลย
      https://adayd3sign.wordpress.com/2011/04/14/link-iphone-mapkit-tutorial/

  15. พี่ค่ะ จากตัวอย่างที่พี่ได้อธิบายในเรื่อง sort ข้อมูล น้องก็เลยมาลองทำ แต่อยากทราบว่า ่ตอนเรากด segment control ไปแล้วจะทำไงให้ table view มันเปลี่ยนตามอ่ะค่ะ คืออย่างที่น้องทำพอกด segment เราจะเช็คอว่า index ไหน พอ รู้ก็จะให้มันเรียงอาเรย์ แต่ปัญหาคือจะทำให้ table view เปลี่ยนตาม แต่ละปุ่ม ของ segment อ่ะค่ะ

    • หากใช้ เมธรอด sortedArrayUsingDescriptors แล้วมันจะได้ Array ออกมา 1 ตัว

      ก็แทนค่า อาร์เรย์ที่ใช้เป็นข้อมูลของ tableView ไปเลย (เวลาจะแสดงผลใน tableview มักจะใช้ array เป็นตัวเก็บสมาชิก ก็เอาค่าจากการซอสใส่อาเรย์ตัวนั้นแหละ แล้วโหลดดาต้าอีกครั้ง)

      แล้วเรียก [tableView reloadData]

  16. พี่ครับ ทำไงให้ เวลาที่ เรากด เลือกข้อมูลใน Table View แล้วมันเรียก View อีก View ขึ้นมา และทำการส่งค่าไปเกบยัง NSString ของ อีก View คือผมเขียนโค้ดแบบนี้ มันเรียกอีก View ขึ้นมาแสดง ได้ แล้วก็เซตค่าพวก Label ของอีกวิวได้ แต่ไม่สามารถเอาค่าไปเกบยังNSString ของ อีก view ได้

    -(void) table view:(UITableView *) table View didSelectRowAtIndexPath:(NSIndexPath*)indexPath {

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
    storyBoardName bundle:[NSBundle mainBundle]];
    ViewDetail *viewdetail = [storyboard instantiateViewControllerWithIdentifier:@”PageDetail”];

    [self persentModalViewController:viewdetail animated:YES];

    viewdetail.lblName.text = subname; /// << อันนี้สามารถเซตได้

    viewdetail.itemName = subname; /// << แต่ถ้าเอาค่าไปเกบไว้ใน NSString ตัวนี้ไม่ได้

    }

  17. ผมทำได้แล้วครับ เปลี่ยนมาใช้ segue แทน ขอบคุณครับ

  18. พี่ครับ คือ อยากทราบวิธี ทำให้ TableView แสดงแผนเล็กๆที่ใน Table Cell แบบในรูปนี้อะครับ
    http://upic.me/show/32169953

    พี่พอจะมีวิธีเขียนโค้ดหรืออธิบายหลักการทำงานของมันได้ไหมครับ

  19. บทความให้ความรู้มากค่ะ…ขอบคุณมาก
    และมีคำถามว่า เราจะสามารถเว็คการเชื่อมต่ออินเตอรืเน็ตได้อย่างไรค่ะ และควรเขียนไว้ที่ไฟล์ไหน
    และเราสามารถเช็คการ login ของสมาชิกได้อย่างไร เช่นกันค่ะ

    ขอบคุณค่ะ

  20. พี่ค่ะ เวลาเข้าหน้าบล็อกพี่ ถ้าเปิดบน ipad มันก็จะแสดงในรูปแบบของipad หรือถ้าไม่อยากให้แสดงในรูปแบบ ipad ก็เห็นมีให้คลิกแสดงเหมือนหน้าเว็บทั่วไป ไม่ทราบว่ามันทำได้อย่างไรค่ะ

  21. พี่ค่ะ ถ้าทำ search bar โค้ดมันจะเขียนประมาณไหนอ่ะค่ะ ตอนนี้ก็ลากตัว search bar มาวางในวิว แล้ว ไปหาข้อมูลจากเว็บอื่นมันก็ยังงงๆน่ะค่ะ ยังไงพี่ช่วยแนะแนวทางหน่อยนะค่ะ

    อีกเรื่องคือ แล้วทำ tob bar ให้มีปุ่ม edit พอกด จะมีเครื่องหมายลบขี้นมาในเซลล์ตารางน่ะค่ะ ให้เรากดลบข้อมูลใน table view ได้น่ะค่ะ ไม่ทราบว่ามันทำอย่างไรอ่ะคะ

  22. คือผมรบกวนถามอะไรหน่อยนะครับ คือผมอยากทำ App ipad ขึ้นมาแอปหนึ่งเกี่ยวกับการโชวร์ข้อมูล หรือข้อความขึ้นมามีรูปขึ้น และมี TableView อยู่ในหน้านั้นเมื่อกดข้อมูลใน Table ข้อมูลก็จะโชว์ ข้างๆ Table ซึ่งอยู่ในหน้าเดียวกันหน่ะครับ เราควร เลือก Create App แบบไหนดีครับ และใช้ฐานข้อมูลยังไงดีในการเก็บข้อมูลที่จะโชว์อะครับรบกวนตอบผมด้วยนะครับ ขอบคุณครับ

    • สร้างเลือก template แบบ Master Template , Split Template, หรือแบบ Single View (ViewController) ธรรมดาแล้วเขียนเอาเองทั้งหมดก็ได้

      ส่วนหากข้อมูลไม่เยอะ เก็บใส่โค้ดโดยใช้ array หรือ dictionary ได้
      ข้อมูลเยอะขึ้นมาหน่อย ใช้ .plist file
      ข้อมูลจำเป็นต้องมีเป็น table เลือกใช้ core data ไม่ก้อ ไฟล์ฐานข้อมูลภายนอกใช้ sqlite

  23. พี่ค่ะ ถามเรื่อง table view หน่อย ถ้าตอนเราเอาข้อมูลใส่แล้วมันยาวเลย cell ตาราง แนวขว้าง จะทำยังไงไม่ให้มันตัดบรรทัดลงมาอ่ะค่ะ

  24. อยากรู้เกี่ยวกับการทำApplication E-book แล้วช่วยแนะนำ Framework ที่เกี่ยวกับการเอาPDFมาใช้ที่ครับ ถ้าเป็นแบบฟรจะดีากเลยครับ

  25. เชียนเชื่่อมต่อฐานข้อมูลภายนอกต้องทำอย่างไหรครับ อย่างมี sqlserver ต้องทำยังไรต้องเขียนแบบไหนครับ

  26. ผมจะทำนิตยสาร ประมาณ Mars , Zoo ครับ ไม่ทราบว่ามีวิธีให้เวลาโหลดแล้วมันไปอยู่ใน newsstand อย่างไรครับ

  27. น่าจะมีบทความเกี่ยวกับการทดสอบรันแอพบน iphone เลยนะ การตั้งค่าต่างๆ บน xcode

  28. อยากทราบวิธี เปลี่ยนหน้าจากไฟล์ .xib ไป storyboard ครับ ผมลองใช้วิธีนี้
    -(IBAction)btnHome:(id)sender
    {
    FirstViewController*viewType = [[FirstViewController alloc] initWithNibName:nil bundle:nil];
    [self presentViewController:viewType animated:NO completion:NULL];

    }
    พอกดเปลี่ยนมาหน้า storyboard จอจะดำ
    แต่ใช้วิธีเดียวกัน จาก storyboard ไป .xib ได้ปกติครับ

  29. อยากทราบว่า ถ้าเราพัฒนาด้วย Xcode4 แต่เราอยากใช้ Keyboard iOS7 สามารถทำได้ไหมค่ะ

    • ใน Xcode4 ไม่มีตัว simulator ของ iphone ipad ที่ใช้ iOS7 และไม่รองรับ iOS7 SDK ด้วยนะครับ
      ส่วนเราจะเอาแค่ keyboard iOS7 มาใช้ใน simulator ของ xcode4 ก็ไม่ได้เช่นกันครับ
      อาจจะเปลี่ยนไปใช้ xcode5 น่าจะดีกว่าครับ เพราะมันรองรับ iOS7 SDK อยู่แล้ว

  1. Pingback: iOS Dev : การติดตั้งและเริ่มใช้งาน Xcode - APPCODEV

ใส่ความเห็น

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: