自定义状态栏:
第一步:
AppDelegate *_delegate;
//获得程序代理,以便对设备StatusBar进行控制
_delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
//获得设备StatusBar权限
[_delegate.window setWindowLevel:UIWindowLevelStatusBar];
[[NSMutableArray alloc] init];和[[NSMutableArray alloc] initWithCapacity:0];的区别
如果知道最大需要的容量,那么就使用initWithCapacity:来设置,好处就是当元素个数不超过容量时,添加元素不需要重新分配内存。
缺点是:如果实际元素个数也capacity相差甚远就浪费了内存空间。
好处是:如果指定capacity,而且元素数量没有超过这个值的话就不需要老是欲求不满找系统要内存,而找系统要内存这个操作会带来一定的系统开销(涉及到系统调用
可变数组,[[NSMutableArray alloc] init];和[[NSMutableArray alloc] initWithCapacity:0]可以看作没有区别
自定义Cell:
首先创建自己的自定义cell的类,我们叫做CustomCell,要继承于UITableViewCell。在这个类中定义自己所需要的控件。
然后,打开storyboard,选择自己要添加自定义cell的UIViewController,我们叫它为ViewController。在UITableView里面添加一个cell(或者修改原有的cell)。将cell的style改为custom,将cell的类改为CustomCell,将identifier改为CustomCellIdentifier。然后,可以在cell中添加控件,将控件和刚才在CustomCell中定义的控件连起来。
最后,在ViewController的UITableView的tableView:cellForRowAtIndexPath:代理方法中添加以下代码:
[plain]
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCellIdentifier"];
这样,就创建了一个cell,可以在这句代码之后对自己添加的控件进行设置