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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【原转】使用获取subview获取子view

發(fā)布時(shí)間:2024/9/5 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原转】使用获取subview获取子view 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通常我們?cè)趘iew層級(jí)里面對(duì)subView的操作可以通過(guò)兩種方式:1、保留一個(gè)subview的引用,然后在類中通過(guò)該引用對(duì)該subview 進(jìn)行操作,但是要注意在適當(dāng)?shù)奈恢锰砑觾?nèi)存維護(hù)的代碼,退出前手動(dòng)釋放。2、設(shè)置subview的Tag,讓后在要使用的時(shí)候,通過(guò) viewWithTag獲取到相應(yīng)的subview,這種方法比較簡(jiǎn)潔,也不用自己去維護(hù)內(nèi)存。

說(shuō)直白點(diǎn),就是父View通過(guò)tag獲取到子View,格式是:[父View viewWithTag:tag號(hào)碼];如下圖:[view viewWithTag:13].text獲取到subView2的內(nèi)容。就是這么簡(jiǎn)單。父類對(duì)子類下手

  ViewWithTag: 通常采用深度遍歷優(yōu)先的算法,返回第一個(gè)tag和給定Tag相等的subview。這就導(dǎo)致了一個(gè)當(dāng)一個(gè)view的多個(gè)subview的tag相同的時(shí)候,我們通過(guò)該方法得到的view可能并不是自己想要的。

例子中代碼創(chuàng)建的view的層次圖如下:

?

   例子中每個(gè)subview都是一個(gè)UILabel,而且設(shè)置了相應(yīng)的內(nèi)容。按鈕的響應(yīng)函數(shù)的實(shí)現(xiàn)思路:首先隱藏所有類型為UILabel的 subview(排除UIButton,因?yàn)閎utton需要一直顯示),然后根據(jù)指定的Tag獲取到相應(yīng)的subview,該subview及其 superView的hidden屬性為NO。這樣就可以保證點(diǎn)擊按鈕的時(shí)候只顯示的是第一個(gè)tag和指定tag相等的subview。

  為了驗(yàn)證viewWithTag獲取subview的原理:

  首先我在subview1中添加了兩個(gè)tag都為11的subview11和subview12。 運(yùn)行程序可以,當(dāng)我們點(diǎn)擊"Show Tag 11"按鈕的時(shí)候屏幕上將顯示“SubView11”,而非“SubView12”。同時(shí)不管你點(diǎn)擊幾次該按鈕,始終只顯示“SubView11”。這樣 可以看出來(lái)同一層級(jí)中獲取subview時(shí)候查找順序?yàn)閕ndex從小到大的原則,即位于相對(duì)下層的將首先被找到。

  其次我還在subview1中添加了tag均為13的subview13,同時(shí)向view中添加了tag也為13的subview2,運(yùn)行程序 點(diǎn)擊“Show Tag 13”按鈕,屏幕上將會(huì)顯示“SubView13”,而非“SubView2”。這可以驗(yàn)證viewWithTag在搜索的時(shí)候遵循深度優(yōu)先遍歷的原則, 即會(huì)首先查找最下層的view并遞歸查詢其subview。

  綜上兩點(diǎn)我們可以看出來(lái)viewWithTag獲取subview的基本原則,即遵循深度優(yōu)先,下層優(yōu)先兩個(gè)原則。

轉(zhuǎn)載于:https://www.cnblogs.com/wengzilin/archive/2012/03/22/2411306.html

總結(jié)

以上是生活随笔為你收集整理的【原转】使用获取subview获取子view的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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