开发经验小结

1.在UITableview中有一属性(tableFooterView),也就是设置其底部视图,在为此属性设置其frame时,不需要对其设置坐标及宽度,只需要设置其高度即可。tableFooterView的宽度永远是tableview的宽度
2.在代码中隐藏状态栏 使用方法

- (BOOL)prefersStatusBarHidden

{

    return YES;

}

3.在自定义cell中,对其进行封装,可直接调用xib或者是用代码自定义的cell

+ (instancetype)cellWithTableView:(UITableView *)tableView

{

    static NSString *ID = @"tg";

    MJTgCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

    if (cell == nil) {

        // xib中加载cell

        cell = [[[NSBundle mainBundle] loadNibNamed:@"MJTgCell" owner:nil options:nil] lastObject];

    }

    return cell;

}



如何利用xib封装一个View:

1.新建一个xib文件描述一个view的内部结构

2.新建一个新的类(继承自某个系统自带的view,继承自哪个类,取决于xib根对象的Class

3.新建类的类名最好跟xib的文件名保持一致

4.将xib中的控件和自定义的类进行连线

5.提供一个类方法快速返回一个创建好的自定义view(屏蔽从xib这个过程)



使用delegate的步骤

1.先搞清楚谁是谁的代理(delegate)

2.定义代理协议,协议名称的命名规范: 控件类名+Delegate

3.定义代理方法:(1)代理方法普遍是optional  (2)代理方法名都是以控件名开头  (3)代理方法至少有一个参数,将控件本身传递出去  

4.设置代理(delegate)对象(比如myview.delegate = self)

(1)代理对象要遵守协议   (2)代理对象要实现协议里面的方法

5.在恰当的时刻调用代理对象(delegate)的代理方法,通知代理发生了什么(在调用之前判断代理是否实现了该代理方法:if(self.delegate respondsToSelector:@selector(...){

self.delegate ....;

}



关于CGRectGetMaxX、CGRectGetMaxY、CGRectGetWidth、CGRectGetHeight

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 20, 100, 120)];

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMaxX(view.frame), CGRectGetMaxY(view.frame), 100, 100)];

 

    NSLog(@"%f    %f   %f   %f",CGRectGetMaxX(view.frame),CGRectGetMaxY(view.frame),CGRectGetWidth(view.frame),CGRectGetHeight(view.frame));


输出如下:2014-11-10 16:13:37.081 test1[4551:607] 110.000000    140.000000   100.000000   120.000000



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值