December 13, 2014

ทบทวนพื้นฐาน Auto Layout

ก่อนหน้านี้ที่ Auto Layout ถูกแนะนำใหม่ๆ เพื่อน iOS developer หลายคนพยายามหลีกเลี่ยงมัน (รวมถึงตัวผมเองด้วย) อาจเพราะมันเข้าใจได้ยากหรือเปล่าไม่รู้ แต่ที่รู้ๆ ก็คือต้องเริ่มต้นศึกษาทำความเข้าใจมันใหม่ แทนที่ระบบ layout เดิมของ iOS SDK รุ่นก่อนๆ

Intro

บันทึกนี้จะแสดงวิธีการใช้งาน Auto Layout แบบ Programmically ซึ่งก็แปลว่าเราจะไม่ใช้ xib หรือ storyborad กับ auto layout เลย

เราจะใช้ Visual Format Language (VFL) ในการกำหนด constraint หรือข้อกำหนดเกี่ยวกับพฤติกรรม รวมถึงการระบุตำแหน่ง และขนาดของ view โดย syntax ที่ใช้นั้นไม่ซับซ้อนเลย เช่น หากเราต้องการกำหนดความกว้างของ element ให้มีขนาด 100 เราก็สามารถเขียนได้ดังนี้



หรือถ้าเราต้องการกำหนดความสูง ก็ทำแบบนี้



ตัวอักษรตัวแรกเอาไว้บอกว่าเราจะกำหนดขนาดให้กับ deimesion ไหน ตัว H ก็คือ horizontal ส่วนตัว V ก็คือ Vertical

และเวลาเรากำหนด constraint เหล่านี้ผ่าน VFL เราสามารถกำหนดผ่าน method addConstraint: และ removeConstraint: ของ UIView ได้

December 12, 2014

iOS App สำหรับช่วยเที่ยวสิงคโปร์

มองหาแอปสำหรับพกติดตัวเพื่อใช้เที่ยวสิงคโปร์ด้วยตัวเองมาหลายแอปเอาไว้ใช้ใน iPad สุดท้ายก็พบ 2 แอปนี้

Singapore Travel Guide and Offline City Map

เอาไว้วางแผนการเดินทาง และใช้นำทาง
โหลดฟรีได้ใน Apple AppStore สาเหตุที่ตัดสินใจเลือกก็คือ

  1. ไม่ต้องต่ออินเทอร์เน็ตก็ใช้งานได้
  2. ปักหมุดจุดที่จะไปได้ เอาไว้วางแผนว่าจะไปที่ไหนบ้าง
  3. ดูภาพรวมได้ว่า แต่ละจุดที่เราต้องการไปเที่ยว อยู่บริเวณไหนในสิงคโปร์บ้าง จะได้วางแผนการเดินทางได้ง่าย
  4. บอกระยะห่างระหว่างจุดปัจจุบันที่เราอยู่กับปลายทาง ว่าอยู่ไกลจากเราเท่าไหร่
  5. ใช้ได้ทั้งบน iPhone และ iPad
  6. บอกตำแหน่งปัจจุบันของเรา และบอกทิศได้ว่าเรากำลังหันหน้าไปทางไหน
  7. ฟรี
ดูแอปอื่นๆ ของ developer รายเดียวกัน ที่นี่ ทั้งหมดเป็นแอปแนวเดียวกัน ต่างกันแค่คนละประเทศ

Singapore MRT & LRT

เอาไว้ดูว่าจากสถานีรถไฟฟ้าหนึ่ง ไปอีกสถานีหนึ่งต้องนั่งรถไฟฟ้าไปยังไง ต่อรถที่สถานีไหน
โหลดฟรีได้ใน Apple AppStore สาเหตุที่ตัดสินใจเลือกก็คือ
  1. ไม่ต้องต่ออินเทอร์เน็ตก็ใช้งานได้
  2. ค้นหาเส้นทางได้ง่ายๆ แค่เลือกต้นทาง และสถานีปลายทาง แอปก็จะแสดงเส้นทางที่เราต้องไปพร้อมกับบอกว่าเปลี่ยนสถานีได้ตรงไหน
  3. บอกได้ว่าสถานีไหนใกล้เราที่สุด
  4. ฟรี