2014-09-11 43 views

回答

1

你可以做沿

- (BOOL)viewObjectContainsContent:(id)object 
{ 
    BOOL containsContent = false; 

    // First check that the object passed in isn't nil no point doing anything otherwise. 
    // We also want to check that the object is an instance of UIView or a subclass of it. 
    if(object && [object isKindOfClass:[UIView class]]) { 
     // Not going to do all the different combinations but you'll get what's going on 
     if ([object isMemberOfClass:[UILabel class]]) { 
      UILabel *labelObject = (UILabel *)object; 
      if ([labelObject text]) containsContent = true; 
     } else if ([object isMemberOfClass:[UIImageView]]) { 
      UIImageView *imageObject = (UIImageView*)object; 
      if ([imageObject image]) containsContent = true; 
     } else if (//So on checking the different objects..... 
    } 

    return containsContent; 
} 

线的东西,那么你可以把它用BOOL boolVal = [self viewObjectContainsContent:label];self是一个类的实例,该方法的一部分。

另外请注意,如果你正在使用的东西像UILabelUIImageView子类,您可能需要与isKindOfClass:更换isMemberOfClass:检查亚类。

希望这是你正在寻找的,如果不留下评论,我会相应修改。

1

如果你不知道对象,那么Yu不能这么做。标签和imageView(对于其他对象相同)不共享属性名称以使此类检查成为可能。你可以做的是检查对象是否为零..或者写一个方法来检查对象是否是你想要测试的每个类的类型,然后检查属性。

了解你所调用的空白对于所有对象都是不一样的。

相关问题