第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何遍歷UIView的所有子視圖及其子視圖和子視圖

如何遍歷UIView的所有子視圖及其子視圖和子視圖

隔江千里 2019-12-20 10:53:39
如何遍歷UIView的所有子視圖及其子視圖和子視圖?
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻1831條經(jīng)驗 獲得超9個贊

使用遞歸:


// UIView+HierarchyLogging.h

@interface UIView (ViewHierarchyLogging)

- (void)logViewHierarchy;

@end


// UIView+HierarchyLogging.m

@implementation UIView (ViewHierarchyLogging)

- (void)logViewHierarchy

{

    NSLog(@"%@", self);

    for (UIView *subview in self.subviews)

    {

        [subview logViewHierarchy];

    }

}

@end


// In your implementation

[myView logViewHierarchy];


查看完整回答
反對 回復(fù) 2019-12-20
?
明月笑刀無情

TA貢獻1828條經(jīng)驗 獲得超4個贊

好了,這是我為UIView類使用遞歸和包裝器(類別/擴展名)的解決方案。


// UIView+viewRecursion.h

@interface UIView (viewRecursion)

- (NSMutableArray*) allSubViews;

@end


// UIView+viewRecursion.m

@implementation UIView (viewRecursion)

- (NSMutableArray*)allSubViews

{

   NSMutableArray *arr=[[[NSMutableArray alloc] init] autorelease];

   [arr addObject:self];

   for (UIView *subview in self.subviews)

   {

     [arr addObjectsFromArray:(NSArray*)[subview allSubViews]];

   }

   return arr;

}

@end

用法:現(xiàn)在您應(yīng)該遍歷所有子視圖并根據(jù)需要進行操作。


//disable all text fields

for(UIView *v in [self.view allSubViews])

{

     if([v isKindOfClass:[UITextField class]])

     {

         ((UITextField*)v).enabled=NO;

     }

}


查看完整回答
反對 回復(fù) 2019-12-20
?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

Swift 3中的解決方案,subviews不包含視圖本身就提供了所有功能:


extension UIView {

var allSubViews : [UIView] {


        var array = [self.subviews].flatMap {$0}


        array.forEach { array.append(contentsOf: $0.allSubViews) }


        return array

    }

}


查看完整回答
反對 回復(fù) 2019-12-20
  • 3 回答
  • 0 關(guān)注
  • 1499 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號