操场上的UI编程

Applicationยปกติในการพัฒนา应用程序บนiOSส่วนของUIก็จะใช้เครื่องมือแสนสบายอย่างStoryboard(ถ้าเป็นก่อนหน้านี้ก็Interface Builder)กันมานานแล้วแต่ถึงแม้จะสะดวกสบายก็ยังมีข้อเสียอยู่หลายอย่างเช่น

  1. งCode故事脚本生成boardนมาทำให้合并ทำให้ยากมาก(Xcode 8ปรับปรุงแล้วนะ冲突กันอยแต่ก็าง)
  2. layรื่องของAutolayoutที่แก้ไขยากยิ่งกับ视图ที่การจัดวางซับซ้อนมากๆ动画ืนยุ่งกับ约束ุ่งกับยมันปวดหัวสุดๆในการนั่งไล่debugว่าอะไรเป็นอะไร
  3. SeายSegueIdentifier Flowิดเดีมมมมมมัgh gh Spaghettiดีๆี่เก็ี่เี่เ

Story Story Storyboardใน版本หลังๆจะพัฒนาขึ้นมาได้มากซักแค่ไหนก็ดูเหมือนว่าถ้าเป็นหน้าที่布局ซับซ้อนมากๆเขียนUIด้วยโค้ดมันซะเลยมันก็ยังโอเคกว่าในระยะยาว

UIาเป็นเมื่อก่อนการจินตนาการUIไว้ในหัวมันเป็นเนเรื่องยากและใช้เวลานานมากๆต้องเขียนไปbuildแต่เดี๋ยแต่เดี๋นี้มันง่ายขึ้นเยอะด้วย

งทำย์ขอContentอผมจะต้องทำTableViewเป็Content Content Contentๆๆๆ์ขทั้ง์ขcell์ข์ข ถูกต้อง100%”(ไม่งั้นTableViewจะไม่คำนวนความสูงให้)

Playรื่องมือที่ผมจะใช้คือ游乐场,cocoapods-游乐场และSnapKit

cocoapods-playground เป็นเครื่องมือที่ช่วยที่ช่วราสร้าง游乐场项目ที่ติดตั้งpodsต่างๆไว้ด้วยได้สามารถติดตั้งและตามขั้นตอนที่https://github.com/segiddins/ThisCouldBeUsButYouPlayingส่วน SnapKit Kit Library codeยน代码故事板แบบเต็มๆ(เพราะมันเทอะทะเหลือเกิน)

ผมไปที่ริ่มต้นผมไปที่พิมพ์คำสั่ง

$荚游乐场SnapKit

Playากนั้น游乐场项目ที่มีCocoapodก็จะถูกสร้างขึ้นมาเปิดไฟล์SnapKit.xcworkspaceแล้วเลือก SnapKitPlayground scheme แล้ว构建ซะครั้งนึงรราก็จะ导入SnapKitเข้ามาใน操场เราได้แล้ว代码บรรทัดที่เกี่รทัดที่เกี่ยวข้องกับงกับาร导入จะเป็นแบบน

งากนั้นเราก็สร้างcellขึ้นมาตามปกติ

ได้อเราได้Cellตามที่ออกแบบและทดสอบสมใจก็复制โค้ดไปวางในViewของโปรเจคหลักได้เลยหรือใครจะสร้างเป็น文件ย่อยๆแล้วยกทั้งไฟล์ไปไว้เลยกทั้งไฟล์ไปไว้เลากันครับfile

权衡权衡มีข้อดีก็มีข้อมีข้ยครับวิธีนี้ผมชอบนะแต่ก็มีข้อเสียอยู่บ้างเหมือนกันดังนี้

  1. งๆารแสดงผลบนหน้าจอขนาดต่างๆ —จะเห็นว่ามัน渲染เป็น默认大小storyยวบน故事板
  2. ไม่支持选型课 — viewาจะทดสอบว่า视图แสดงผลอย่างไรบน特质ต่างๆของแต่ละ选型课…หมดสิทธิ์ครับ
  3. การจัดการ资源,渲染性能 —การจะใช้รูป,字体ต้อะๆาใส่เพิ่มเข้าไปอไปรวมถึงถ้ารูปใหญ่ๆimage(xcodeปิดตัวเอง)ไปเลยไปเล
  4. 安卓系统 —安卓系统开发者Layout.xml
  5. 调试侦听กนเป็องที่ปกติยที่ใหญ่ที่สุด ของ วิธี การนี้เลยถ้าเราลืมทำอะไรไปซักอย่างที่ปกติXcodeจะมีนจะมีfix-itให้นทำให้มันไม่渲染视图ขึ้นมาให้เราดูก็หากันไปทีละบรรทัด ยังกะเขียนเวบแน่ะตรงนี้หวังว่า游乐场版本หลังๆจะแก้ไขให้เราเนอะ

งรับผมผมว่ามันสะดวกกับการทำงานแบบขึ้นโครง视图เป็นชิ้นเล็กๆก่อนนำไปประกอบรวมกันเป็น视图ใหญ่ๆอีกทีและผมชอบวิธีนี้มากกว่ากาการไปวาง布局ในStoryboardแล้วหล่ะ

ส่วนคุณจะเลือกใช้ยังไงก็ลองดูตามความเหมาะสมและพึงพอใจครับ🙂

故障排除

ลิสต์ปัญหาที่อาจจะเจอได้บ่อยๆผมรวบรวมไว้ให้แก้ได้ง่ายๆ

  1. Use Legacy Swift Language Version (SWIFT_VERSION) is required to be configured correctly... buildอ建立项目ที่เพิ่งสร้างมาจาก命令行

主题 :Pod主题公园操场社区快速版本主题公园cocoapods主题公园生成主题脚本脚本主题

แก้ไขารแก้ไขUse Legacy Swift Language Version นด Use Legacy Swift Language Version ใน构建设置ของpodให้เป็น no (游乐场ใช้swift 3อยู่แล้ว)

2. Failed to read Info.plist of app เมื่อ生成项目ที่เพิ่งสร้างมาจาก命令行的Failed to read Info.plist of app

แก้ไขารแก้ไข :เลือก设备ที่จะ建立ให้เป็นSimulator

参考文献:

iOS Playground不显示UI预览-http://stackoverflow.com/a/33543820/150768

历史:

  • [27–12–16]添加了故障排除和更新缺点