最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS布局渲染之UIView方法的調(diào)用時(shí)機(jī)詳解

 更新時(shí)間:2018年07月01日 11:47:51   作者:windtersharp  
在你剛開始開發(fā) iOS 應(yīng)用時(shí),最難避免或者是調(diào)試的就是和布局相關(guān)的問題,下面這篇文章主要給大家介紹了關(guān)于iOS布局渲染之UIView方法調(diào)用時(shí)機(jī)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

APP頁面優(yōu)化對小編來說一直是難題,最近一直在不斷的學(xué)習(xí)和總結(jié) ,發(fā)現(xiàn)APP頁面優(yōu)化說到底離不開view的繪制和渲染機(jī)制。本文將詳細(xì)給大家介紹關(guān)于iOS布局渲染之UIView方法調(diào)用時(shí)機(jī)的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細(xì)的介紹吧。

一、約束

- (void)updateConstraints NS_AVAILABLE_IOS(6_0) NS_REQUIRES_SUPER;

何時(shí)觸發(fā)如下所示:

1、initWithFrame時(shí)候調(diào)用,但是要求重寫以下方法,并返回YES。

+ (BOOL)requiresConstraintBasedLayout NS_AVAILABLE_IOS(6_0);

2、標(biāo)記為需要更新,下次drawing cycle自動調(diào)用。當(dāng)約束改變時(shí),下次render loop還會自動調(diào)用layoutSubviews(布局)

- (void)setNeedsUpdateConstraints NS_AVAILABLE_IOS(6_0);

3、如果有需要更新的標(biāo)記,立即調(diào)用。當(dāng)約束改變時(shí),下次render loop還會自動調(diào)用layoutSubviews(布局)

- (void)updateConstraintsIfNeeded NS_AVAILABLE_IOS(6_0);

二、布局

- (void)layoutSubviews;

1、何時(shí)觸發(fā)如下所示:

initWithFrame時(shí)候調(diào)用,但是rect的值不能為CGRectZero。

- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;

2、標(biāo)記為需要布局,下次drawing cycle自動調(diào)用。

- (void)setNeedsLayout;

3、如果有需要布局的標(biāo)記,立即調(diào)用。

- (void)layoutIfNeeded;

4、自己的frame發(fā)生改變時(shí),約束也會導(dǎo)致frame改變。

@property(nonatomic) CGRect frame;

5、添加子視圖或者子視圖frame改變時(shí),約束也會導(dǎo)致frame改變。

6、視圖被添加到UIScrollView,滾動UIScrollView。

三、顯示

- (void)drawRect:(CGRect)rect;

何時(shí)觸發(fā)如下所示:

1、initWithFrame時(shí)候調(diào)用,但是rect的值不能為CGRectZero。

- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;

2、標(biāo)記為需要顯示,下次drawing cycle自動調(diào)用。

- (void)setNeedsDisplay;

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • IOS 靜態(tài)庫和Framework區(qū)別

    IOS 靜態(tài)庫和Framework區(qū)別

    這篇文章主要介紹了IOS 靜態(tài)庫和Framework區(qū)別的相關(guān)資料,這里對動態(tài)庫與靜態(tài)庫做比較,選擇什么時(shí)候使用庫文件,需要的朋友可以參考下
    2016-12-12
  • 如何在IOS上使用ReplayKit與RTC

    如何在IOS上使用ReplayKit與RTC

    這篇文章主要介紹了如何在IOS上使用ReplayKit 與 RTC,對IOS音視頻感興趣的同學(xué),一定要看一下
    2021-04-04
  • ios實(shí)現(xiàn)app強(qiáng)制更新功能

    ios實(shí)現(xiàn)app強(qiáng)制更新功能

    本篇文章主要介紹了ios實(shí)現(xiàn)app強(qiáng)制更新功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • iOS自定義UIBarButtonItem的target和action示例代碼

    iOS自定義UIBarButtonItem的target和action示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS自定義UIBarButtonItem的target和action的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • IOS之構(gòu)造方法與自定義構(gòu)造方法的區(qū)別與實(shí)現(xiàn)

    IOS之構(gòu)造方法與自定義構(gòu)造方法的區(qū)別與實(shí)現(xiàn)

    本篇文章主要介紹了構(gòu)造方法以及自定義構(gòu)造方法的實(shí)現(xiàn),需要的朋友可以參考下
    2015-07-07
  • iOS中SQLite的操作方法

    iOS中SQLite的操作方法

    這篇文章主要為大家詳細(xì)介紹了iOS中SQLite的操作方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • iOS中l(wèi)ebel特殊字符的自動換行問題解決

    iOS中l(wèi)ebel特殊字符的自動換行問題解決

    這篇文章主要給大家介紹了關(guān)于iOS中l(wèi)ebel特殊字符的實(shí)現(xiàn)不自動換行的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS自定義相機(jī)功能

    iOS自定義相機(jī)功能

    這篇文章主要為大家詳細(xì)介紹了iOS自定義相機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • iOS實(shí)現(xiàn)支持小數(shù)的星星評分組件實(shí)例代碼

    iOS實(shí)現(xiàn)支持小數(shù)的星星評分組件實(shí)例代碼

    程序中需要打分的功能,在網(wǎng)上找了幾個(gè),都不是很滿意。所以自己動手實(shí)現(xiàn)了一個(gè),下面這篇文章主要給大家介紹了關(guān)于利用iOS實(shí)現(xiàn)支持小數(shù)的星星評分組件的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • IOS ObjectiveC中的賦值與對象拷貝

    IOS ObjectiveC中的賦值與對象拷貝

    這篇文章主要介紹了IOS ObjectiveC中的賦值與對象拷貝的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評論

乌拉特前旗| 华宁县| 商城县| 兰西县| 汉寿县| 安陆市| 营山县| 邛崃市| 名山县| 当阳市| 泗水县| 泰宁县| 静海县| 博乐市| 江门市| 霍邱县| 安康市| 黔江区| 林州市| 宝清县| 那曲县| 崇仁县| 五大连池市| 新绛县| 大埔县| 时尚| 桐梓县| 醴陵市| 蚌埠市| 陵川县| 桦甸市| 宁明县| 武川县| 南漳县| 西昌市| 明星| 梁河县| 通化县| 阳谷县| 双峰县| 万州区|