美文网首页Ios@IONIC
判断某个方法是否覆写, 计算contentView宽度等 iOS

判断某个方法是否覆写, 计算contentView宽度等 iOS

作者: rxdxxxx | 来源:发表于2016-03-01 14:10 被阅读478次

    1.判断一个对象是否继承某个类

    用cell的子类来做范例

    BOOL inherited = ![templateLayoutCell isMemberOfClass:UITableViewCell.class];
    
    

    2.判断某个方法是否覆写

    用cell的子类来做范例

    SEL selector = @selector(sizeThatFits:);
    
    BOOL overrided = [templateLayoutCell.class instanceMethodForSelector:selector] != [UITableViewCell instanceMethodForSelector:selector];
    
    

    3.计算一个cell的ContentView的宽度

    此处的self是指某个具体的cell

        CGFloat contentViewWidth = CGRectGetWidth(self.frame);
    
        // If a cell has accessory view or system accessory type, its content view's width is smaller
        // than cell's by some fixed values.
        if (templateLayoutCell.accessoryView) {
            contentViewWidth -= 16 + CGRectGetWidth(templateLayoutCell.accessoryView.frame);
        } else {
            static const CGFloat systemAccessoryWidths[] = {
                [UITableViewCellAccessoryNone] = 0,
                [UITableViewCellAccessoryDisclosureIndicator] = 34,
                [UITableViewCellAccessoryDetailDisclosureButton] = 68,
                [UITableViewCellAccessoryCheckmark] = 40,
                [UITableViewCellAccessoryDetailButton] = 48
            };
            
            contentViewWidth -= systemAccessoryWidths[templateLayoutCell.accessoryType];
        }
    

    更多信息查看FDTemplateLayoutCell

    4. autoresizesSubviews

    如果视图的autoresizesSubviews属性被设置为 NO,则该视图的直接子视图的所有自动尺寸调整行为将被忽略。类似地,如果一个子视图的自动尺寸调整掩码被设置为 UIViewAutoresizingNone,则该子视图的尺寸将不会被调整,因而其直接子视图的尺寸也不会被调整。

    • 请注意:为了使自动尺寸调整的行为正确,视图的transform属性必须设置为恒等变换;其它变换下的尺寸自动调整行为是未定义的。

    自动尺寸调整行为可以适合一些布局的要求,但是如果您希望更多地控制视图的布局,可以在适当的视图类中重载layoutSubviews方法。

    5.判断设备是否是横屏

    #define IS_LANDSCAPE         ([[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationLandscapeRight)
    
    

    相关文章

      网友评论

        本文标题:判断某个方法是否覆写, 计算contentView宽度等 iOS

        本文链接:https://www.haomeiwen.com/subject/yoagkttx.html