日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

storyboard搭建项目_轻松搞定一人一个storyboard开发

發(fā)布時(shí)間:2023/12/8 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 storyboard搭建项目_轻松搞定一人一个storyboard开发 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

storyboard已經(jīng)推出有幾年了,蘋果也一直賣力的引導(dǎo)開(kāi)發(fā)者使用storyboard開(kāi)發(fā),這點(diǎn)從我們創(chuàng)建工程,新工程以Main. storyboard創(chuàng)建window窗口就可以看出。然而很多開(kāi)發(fā)者并不買賬,寧愿自己創(chuàng)建一個(gè)window,花上相對(duì)于storyboard數(shù)倍的時(shí)間,用純代碼來(lái)搭建項(xiàng)目UI框架。

開(kāi)發(fā)者這些心態(tài)也很好理解,一是storyboard是一個(gè)相對(duì)較新的東西,而很多老程序員基本上都是純代碼過(guò)來(lái)的,對(duì)storyboard的這個(gè)新的技術(shù)總報(bào)有一定的疑慮和謹(jǐn)慎態(tài)度,我甚至接觸過(guò)很多老程序員甚至不愿意用xib,整個(gè)項(xiàng)目全部是代碼構(gòu)建的;二是storyboard不便于多人協(xié)作開(kāi)發(fā),因?yàn)榛旧弦粋€(gè)storyboard文件把整個(gè)項(xiàng)目UI框架搭建起來(lái)了,多人同時(shí)操作一個(gè)storyboard文件容易起沖突。

基于以上兩點(diǎn),個(gè)人認(rèn)為:

1. 先不論storyboard優(yōu)缺點(diǎn),對(duì)于新技術(shù)我們都應(yīng)持開(kāi)放的態(tài)度,去主動(dòng)學(xué)習(xí),掌握其精華,批判性的為己所用.

2. 程序的世界變化得太快了,每天都有框架和方法被淘汰、被過(guò)時(shí),我們要跳出自己的舒適區(qū),主動(dòng)擁抱變化,而不是質(zhì)疑。

3. storyboard沖突問(wèn)題其實(shí)很好解決,解決方案就是一人一個(gè)storyboard文件,各玩各的。

下面回到本書(shū)的主題,一人一個(gè)storyboard開(kāi)發(fā),避免storyboard最大的缺點(diǎn)—沖突。

一. 先用Main. storyboard搭建項(xiàng)目框架

image1.png

示例程序采用主流框架搭建形式,最外部是一個(gè)UITabBarController,下轄三個(gè)子模塊UINavgationController,每個(gè)UINavgationController各帶rootViewController(本人默認(rèn)你已有一定的storyboard基礎(chǔ),此搭建詳情不講解)。搭建完成后程序運(yùn)行效果如下:

image2.png

運(yùn)行結(jié)果沒(méi)有問(wèn)題,你如果是一個(gè)人開(kāi)發(fā),那么恭喜你,基本UI框架你已經(jīng)搭建完了。但是你果是多人開(kāi)發(fā),請(qǐng)繼續(xù)往下看。

二.切割Main. storyboard

假設(shè)根據(jù)需求,我需要把消息、聯(lián)系人、設(shè)置三個(gè)模塊切割成對(duì)應(yīng)的三個(gè)storyboard文件

選中要切割的模塊,這里以消息模塊為例

圖中1是導(dǎo)航控制器,2是導(dǎo)航的根控制器

2.點(diǎn)擊xcode導(dǎo)航條Editor->Refactor to Storyboard

這一步操作就是重置你選中的模塊文件,生成新的storyboard文件

操作完后出現(xiàn)下面界面,命名新的storyboard文件,并保存。

命名,保存

這時(shí)你的工程就新增加了一個(gè)Message. storyboard

切割出來(lái)的Message. storyboard

到此第一個(gè)模塊切割完成,另外兩個(gè)模塊跟上述流程一樣。完成后我們?cè)倏纯碝ain. storyboard效果:

切割完的Main. storyboard

我們可以看到,Main. storyboard被切割成了三個(gè)部分:Message. storyboard、Contact. storyboard、Set. storyboard,我們可以從容的把這三個(gè)文件分給對(duì)應(yīng)的人去開(kāi)發(fā),運(yùn)行起來(lái)的效果也跟切割前一樣。

也可能有人會(huì)好奇:上圖的右邊三個(gè)箭頭指向的是什么呢?好奇,請(qǐng)繼續(xù)往下看

三. Storyboard References

這是蘋果ios9新出來(lái)的一個(gè)概念,Xcode 7 上才能運(yùn)行,上面我們切割Main. storyboard就是用到這個(gè)技術(shù)。

Storyboard References是什么呢?References,從字面上理解是“關(guān)聯(lián)”的意思。沒(méi)錯(cuò),說(shuō)的再高深,它的實(shí)質(zhì)還是:把多個(gè)Storyboard關(guān)聯(lián)起來(lái)。

Storyboard References 允許你從 segue 中引用其他 storyboard 中ViewController。這樣可以讓我們輕松、隨意的直接在一個(gè)Storyboard上關(guān)聯(lián)另一個(gè)Storyboard,最終達(dá)到模塊化,組件化,甚至可以復(fù)用的效果,同時(shí)也解決了一個(gè)Storyboard開(kāi)發(fā)的臃腫、易沖突的問(wèn)題。

結(jié)束語(yǔ)

以前兩個(gè)Storyboard的關(guān)聯(lián),你需要用代碼方式獲取到Storyboard中的viewController,然后通過(guò)控制器之間的跳轉(zhuǎn)進(jìn)行關(guān)聯(lián)。很麻煩,很煩人是不是?好了,索性 Storyboard References來(lái)了

總結(jié)

以上是生活随笔為你收集整理的storyboard搭建项目_轻松搞定一人一个storyboard开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。