操场上的UI编程
Applicationยปกติในการพัฒนา应用程序บนiOSส่วนของUIก็จะใช้เครื่องมือแสนสบายอย่างStoryboard(ถ้าเป็นก่อนหน้านี้ก็Interface Builder)กันมานานแล้วแต่ถึงแม้จะสะดวกสบายก็ยังมีข้อเสียอยู่หลายอย่างเช่น
- งCode故事脚本生成boardนมาทำให้合并ทำให้ยากมาก(Xcode 8ปรับปรุงแล้วนะ冲突กันอยแต่ก็าง)
- layรื่องของAutolayoutที่แก้ไขยากยิ่งกับ视图ที่การจัดวางซับซ้อนมากๆ动画ืนยุ่งกับ约束ุ่งกับยมันปวดหัวสุดๆในการนั่งไล่debugว่าอะไรเป็นอะไร
- 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
权衡权衡มีข้อดีก็มีข้อมีข้ยครับวิธีนี้ผมชอบนะแต่ก็มีข้อเสียอยู่บ้างเหมือนกันดังนี้
- งๆารแสดงผลบนหน้าจอขนาดต่างๆ —จะเห็นว่ามัน渲染เป็น默认大小storyยวบน故事板
- ไม่支持选型课 — viewาจะทดสอบว่า视图แสดงผลอย่างไรบน特质ต่างๆของแต่ละ选型课…หมดสิทธิ์ครับ
- การจัดการ资源,渲染性能 —การจะใช้รูป,字体ต้อะๆาใส่เพิ่มเข้าไปอไปรวมถึงถ้ารูปใหญ่ๆimage(xcodeปิดตัวเอง)ไปเลยไปเล
- 安卓系统 —安卓系统开发者Layout.xml
- 调试侦听 — กนเป็องที่ปกติยที่ใหญ่ที่สุด ของ วิธี การนี้เลยถ้าเราลืมทำอะไรไปซักอย่างที่ปกติXcodeจะมีนจะมีfix-itให้นทำให้มันไม่渲染视图ขึ้นมาให้เราดูก็หากันไปทีละบรรทัด ยังกะเขียนเวบแน่ะตรงนี้หวังว่า游乐场版本หลังๆจะแก้ไขให้เราเนอะ
งรับผมผมว่ามันสะดวกกับการทำงานแบบขึ้นโครง视图เป็นชิ้นเล็กๆก่อนนำไปประกอบรวมกันเป็น视图ใหญ่ๆอีกทีและผมชอบวิธีนี้มากกว่ากาการไปวาง布局ในStoryboardแล้วหล่ะ
ส่วนคุณจะเลือกใช้ยังไงก็ลองดูตามความเหมาะสมและพึงพอใจครับ🙂
故障排除
ลิสต์ปัญหาที่อาจจะเจอได้บ่อยๆผมรวบรวมไว้ให้แก้ได้ง่ายๆ
-
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]添加了故障排除和更新缺点