IOS UItableView得group风格如何去掉分割线问题,iosuitableview
1个回答
展开全部
在自定义UItableView的时候,当选择的style为Group时,往往在设置透明后分割线还在,为了去除,只要重新设置一个BackgroundView覆盖掉原来型滑的即可
//取消分割线
UIView *view= [ [ [ UIView alloc ] init ] autorelease];
[cell setBackgroundView :view];
//取消点击效果
cell.selectionStyle = UITableViewCellSelectionStyleNone;
iOS TableViewCell自定义分割线
产品设计的要求cell的分割线长度不用是整个屏幕宽,并且设计要求分割线为2px(两条),上下不同色。 实现如下: UITableView中将分割线老孝样式改为None tableView.separatorStyle = UITableViewCellSeparatorStyleNone;自定义UITableViewCell中复写- (void)drawRect:(CGRect)rect方法 - (void)drawRect:(CGRect)rect{ CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, rect);//上分割线, CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"ffffff"].CGColor); CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1)); //下分割线 CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"e2e2e2"].CGColor); CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));}
怎去掉grouped样式UITableView中cell的边框与背景解
_tableView.backgroundView = nil;可以搞定。
测试下发现确实可以,但是不知道以前的版本不确定有没有backgroundView的,所以最好加个判断吧:if(mainTableView.
backgroundView){
mainTableView.
backgroundView=nil;}如果类型为UITableViewStylePlain,[UIColor clearColor]仍然有效,怪哉!
正常情况下grouped样式(
UITableViewStyleGrouped
)UITableViewCell都是有边框的,如果要去掉边框可以用:
UIView *tempView = [[[UIView alloc] init] autorelease];
[cell setBackgroundView:tempView];
其实很简单,把backgroundView设置为卜含腊一个空的View,然后就干净了。
//取消分割线
UIView *view= [ [ [ UIView alloc ] init ] autorelease];
[cell setBackgroundView :view];
//取消点击效果
cell.selectionStyle = UITableViewCellSelectionStyleNone;
iOS TableViewCell自定义分割线
产品设计的要求cell的分割线长度不用是整个屏幕宽,并且设计要求分割线为2px(两条),上下不同色。 实现如下: UITableView中将分割线老孝样式改为None tableView.separatorStyle = UITableViewCellSeparatorStyleNone;自定义UITableViewCell中复写- (void)drawRect:(CGRect)rect方法 - (void)drawRect:(CGRect)rect{ CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, rect);//上分割线, CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"ffffff"].CGColor); CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1)); //下分割线 CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"e2e2e2"].CGColor); CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));}
怎去掉grouped样式UITableView中cell的边框与背景解
_tableView.backgroundView = nil;可以搞定。
测试下发现确实可以,但是不知道以前的版本不确定有没有backgroundView的,所以最好加个判断吧:if(mainTableView.
backgroundView){
mainTableView.
backgroundView=nil;}如果类型为UITableViewStylePlain,[UIColor clearColor]仍然有效,怪哉!
正常情况下grouped样式(
UITableViewStyleGrouped
)UITableViewCell都是有边框的,如果要去掉边框可以用:
UIView *tempView = [[[UIView alloc] init] autorelease];
[cell setBackgroundView:tempView];
其实很简单,把backgroundView设置为卜含腊一个空的View,然后就干净了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询