Objective c 如何像iOS7一样制作UITableView单元格分隔符?
在iOS 7中,默认的Objective c 如何像iOS7一样制作UITableView单元格分隔符?,objective-c,uitableview,ios7,Objective C,Uitableview,Ios7,在iOS 7中,默认的UITableViewCell分隔符是从左侧稍微剪切一点,可以显示单元格的imageView 我可以使用以下代码更改为全尺寸 [self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)]; 当我的iPad方向是纵向时,我想改变它 所以我试着在旋转事件中遵循代码 if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation) ||(UID
UITableViewCell
分隔符
是从左侧稍微剪切一点,可以显示单元格的imageView
我可以使用以下代码更改为全尺寸
[self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
当我的iPad方向是纵向时,我想改变它
所以我试着在旋转事件中遵循代码
if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation) ||(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)))
{
[self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}
else
{
[self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(15, 0, 0, 0)];
}
我想像iOS7一样手动进行单元格分隔
我该怎么做?你指的是手动界面生成器?如果是这种情况,请单击IB中的UITableViewCell并转到第三个面板,在分隔符插图中选择“自定义”,然后可以输入左右值。 编辑:如果要通过代码进行编辑,请参阅UIEdgeInsets结构的文档: UIEdgeInsets 定义视图的插入距离
typedef struct {
CGFloat top, left, bottom, right;
} UIEdgeInsets;
例如:
self.tableViewMain.separatorInset = UIEdgeInsetsMake (0, 15, 0,0);
给你
[self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(15,0,0,0)]代码>
编辑:
以上答案是错误的。添加自定义UIView
将解决此问题。
您的cellforrowatinexpath
应该是
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
UIView *lineView;
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
lineView = [[UIView alloc] initWithFrame:CGRectMake(15, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)];
[cell.contentView setFrame:CGRectMake(0, 0, cell.contentView.frame.size.width, cell.contentView.frame.size.height-1)];
[cell.textLabel setBackgroundColor:[UIColor clearColor]];
lineView.backgroundColor = [UIColor darkGrayColor];
[cell.contentView addSubview:lineView];
[lineView release]; // IGNORE IF USING ARC
}
[cell.textLabel setText:@"YOUR_TEXT"];
return cell;
}
您应该在左插图处使用负值
self.tableView.separatorInset = UIEdgeInsetsMake (0, -15, 0,0);
对于有意识的人来说,默认iOS 7分隔符的颜色似乎是0xCCCC或RGB(204204204),默认高度0.5
点,而不是1.0
“负值被视为插入设置为0。”