开发经验小结

来源:互联网 发布:网络用语af是什么意思 编辑:程序博客网 时间:2024/05/19 23:25
1.在UITableview中有一属性(tableFooterView),也就是设置其底部视图,在为此属性设置其frame时,不需要对其设置坐标及宽度,只需要设置其高度即可。tableFooterView的宽度永远是tableview的宽度
2.在代码中隐藏状态栏 使用方法

- (BOOL)prefersStatusBarHidden

{

   return YES;

}

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

+ (instancetype)cellWithTableView:(UITableView*)tableView

{

    staticNSString*ID = @"tg";

   MJTgCell*cell= [tableView dequeueReusableCellWithIdentifier:ID];

    if(cell == nil){

       //xib中加载cell

       cell =[[[NSBundlemainBundle]loadNibNamed:@"MJTgCell"owner:niloptions:nil]lastObject];

    }

    returncell;

}



如何利用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.delegaterespondsToSelector:@selector(...){

self.delegate ....;

}



关于CGRectGetMaxX、CGRectGetMaxY、CGRectGetWidth、CGRectGetHeight

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

   UIView*view2= [[UIViewalloc]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.081test1[4551:607] 110.000000   140.000000   100.000000  120.000000



0 0
原创粉丝点击