乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      IOS開(kāi)發(fā)基本技能(二)

       承諾程序員之家 2017-04-25

      IOS開(kāi)發(fā)基本技能

      CALyer 有一個(gè)屬性叫做contents,這個(gè)屬性的類型Swift中定義為Any,OC中被定義為id,意味著它可以是任何類型的對(duì)象。在這種情況下,你可以給contents屬性賦任何值,你的app仍然能夠編譯通過(guò)。但是,在實(shí)踐中,如果你給contents賦的不是CGImage,那么你得到的圖層將是空白的。

      如下圖所示,為了通常我們賦值為CGImage后,圖片將會(huì)填充滿整個(gè)圖層,如果圖片的分辨率與圖層尺寸不成比率,就會(huì)造成圖片拉伸現(xiàn)象。

      IOS開(kāi)發(fā)基本技能(二)

      要解決圖片的拉伸問(wèn)題,得使用圖層的contentsGravity屬性。CALayer與 contentMode對(duì)應(yīng)的屬性叫做contentsGravity。contentsGravity可選的常量值有以下一些:

      IOS開(kāi)發(fā)基本技能(二)

      我們可以使用 kCAGravityResizeAspect 屬性值避免被拉伸填充圖層

      IOS開(kāi)發(fā)基本技能(二)

      當(dāng)然未填滿的區(qū)域還是已背景顏色顯示。

      IOS開(kāi)發(fā)基本技能(二)

      技能列表

      技能列表

      1、內(nèi)存管理,不需要防御式編程,但是大腦一定要清晰的知道自己使用的

      對(duì)象的內(nèi)存情況。

      2、UIKit,熟練掌握,能不看文檔就知道常用的控件有哪些方法以及能做

      什么。

      3、Storyboard(xib)

      4、Auto Layout 和 Size Classes,前者更重要

      5、各種手勢(shì)處理

      6、KVO\KVC

      7、GCD

      8、delegate(不要與代理設(shè)計(jì)模式混淆)

      9、Block

      10、Notification

      11、APNs,遠(yuǎn)程通知

      12、視圖狀態(tài)保存

      其實(shí)開(kāi)發(fā)中大多數(shù)問(wèn)題都是“臨時(shí)”遇到的問(wèn)題,只有平時(shí)積累的夠多,才能游刃有余的解決。上面的這些技能只能算是拋磚引玉,更多地學(xué)習(xí)主要還是在自己遇到問(wèn)題或者遇到不懂的知識(shí)點(diǎn)的時(shí)候,每一個(gè)困難都是財(cái)富,都是一個(gè)學(xué)習(xí)的機(jī)會(huì),像 CoreData、設(shè)計(jì)模式之類的技能你難道不學(xué)嗎?興趣和遇到問(wèn)題的切入點(diǎn)很重要,不要敷衍自己,多看教學(xué)視頻,教學(xué)視頻看的越多,越會(huì)覺(jué)得自己需要學(xué)的就越多。

      另外,技能這塊也不要把關(guān)注點(diǎn)全放在 iOS 的平臺(tái)技術(shù)上,做開(kāi)發(fā)的一定不能偏科,有時(shí)候你覺(jué)得自己只是某一方面比較薄弱,比如說(shuō)“我就是記憶力不行”,其實(shí)差距是全面的。

      怎樣成為一個(gè)高手?顯然高手總是通過(guò)學(xué)習(xí)產(chǎn)生的。

      關(guān)于Objective-C 和 Swif

      Swift 目前非常不穩(wěn)定,連 Xcode 都對(duì)它兼容的不好,每次 Swift 有個(gè)稍大的更新就像是把項(xiàng)目推倒重來(lái),而且也不可能完全只用 Swift 來(lái)開(kāi)發(fā)一個(gè)項(xiàng)目,基于 Objective-C 和 C 的框架有很多,iOS 是開(kāi)發(fā)離不開(kāi) C 的。

      除此之外,我覺(jué)得 OC 比 Swift 更加靈活,前者更依賴運(yùn)行時(shí),后者幾乎就是編譯時(shí),OC 能做很多 Swift 做不了的事情,如運(yùn)行時(shí)的關(guān)聯(lián)對(duì)象等,不過(guò)這并不是說(shuō) Swift 不重要,只是一定要排一個(gè)優(yōu)先級(jí)的話,我覺(jué)得短期內(nèi) Swift 無(wú)法對(duì) Objective-C 造成太大影響,所以先學(xué)好 OC 還是更好一些,而且技多不壓身嘛。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多