ios开发笔记-6

设置TableView Separatorinset 分割线从边框顶端开始

在ios8上[TableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];不起作用

可使用如下方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-(void)viewDidLayoutSubviews
{
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];}
}
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];}
}

调整UITableViewCell的宽度

UITableViewCell的宽度会在添加到TableView的时候被重设,所以在- (UITableViewCell *)talbeView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath里面设置cell的宽度是没用的。
新建一个UITableViewCell的子类,然后重写它的-setFrame:方法即可。

1
2
3
4
5
- (void)setFrame:(CGRect)frame {
frame.origin.x += kCellLeft;
frame.size.width -= 2 * kCellLeft;
[super setFrame:frame];
}

UILabel显示边框

  • 添加框架 QuartzCore.framework
  • 引入头文件#import "QuartzCore/QuartzCore.h"
  • 添加代码:
1
2
self.label.layer.borderColor = [UIColor redColor].CGColor;
self.label.layer.borderWidth = 2.0;

UILabel设置圆角

view.layer.cornerRadius = 5;

详情请见技术博客http://www.jianshu.com/p/f970872fdc22