首页 > 其他 > 详细

ios6/7 自定义cell及内部子控件的适配

时间:2014-01-25 14:31:16      阅读:509      评论:0      收藏:0      [点我收藏+]

适配ios6和ios7 cell宽度问题:

方法一:

bubuko.com,布布扣
 1 - (void)setFrame:(CGRect)frame
 2 {
 3     if (iOS7){
 4         [super setFrame:frame];
 5         return;
 6     }
 7     
 8     CGRect cellF = frame;
 9     cellF.origin.x -= 10;
10     cellF.size.width = [UIScreen mainScreen].bounds.size.width + 10 * 2;
11     frame = cellF;
12     [super setFrame:frame];
13     
14 }
bubuko.com,布布扣

 

方法二: 

bubuko.com,布布扣
 1 // 需要调节cell内部子控件的frame,在layoutSubviews方法最可靠\最有效
 2 - (void)layoutSubviews
 3 {
 4     [super layoutSubviews];
 5     
 6     // 0.设置分隔线的位置
 7     _divider.frame = CGRectMake(self.textLabel.frame.origin.x, 0, self.contentView.frame.size.width + 100, 1.2);
 8     
 9     if (iOS7) return;
10     
11     // 1.cell的frame
12     CGRect cellF = self.frame;
13     cellF.origin.x = -10;
14     CGFloat deltaW = 10 * 2;
15     cellF.size.width = [UIScreen mainScreen].bounds.size.width + deltaW;
16     self.frame = cellF;
17     
18     // 2.右边子控件的frame
19     CGRect accessF = self.accessoryView.frame;
20     accessF.origin.x = cellF.size.width - accessF.size.width - deltaW;
21     self.accessoryView.frame = accessF;
22 }
bubuko.com,布布扣

 

自定义cell的背景

bubuko.com,布布扣
#pragma mark 设置背景
- (void)setupBg
{
    // 1.默认
    UIView *bg = [[UIView alloc] init];
    bg.backgroundColor = [UIColor whiteColor];
    self.backgroundView = bg;

    // 2.选中
    UIView *selectedBg = [[UIView alloc] init];
    selectedBg.backgroundColor = ILColor(237, 233, 218);
    self.selectedBackgroundView = selectedBg;
}
bubuko.com,布布扣

ios6/7 自定义cell及内部子控件的适配

原文:http://www.cnblogs.com/wangxiaofeinin/p/3532844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!