晚上好,
我想将自定义tableview单元格与下一张图片相同:
目前我有这个:
如何在tableviewcell上添加边距?我已经尝试过使用separatorInsets和contentInsets来做不同的事情,但是我无法得到理想的结果。
有人有建议吗?
提前致谢!
答案 0 :(得分:3)
您可以将所有内容放在UIView
内,而不是直接将其添加到contentView
。然后,您将此view
的一些边距添加到contentView
(从屏幕截图中,应该是左侧,右侧,顶部和底部)。
在父视图中嵌入所有视图的简便方法如下:选择所有子视图并转到Editor -> Embed In -> View
确保将单元格的contentView的背景颜色设置为clearColor
。
故事板应该是这样的(当然,你不仅仅有一个标签)
没有其他方法,使用tableViews
使单元格的宽度小于整个tableView。
另一种选择是使用collectionView
代替。在那里,您可以为单元格指定宽度和高度,因此获得该布局会更容易。
如果您需要更多帮助,请告诉我们。)
实施自定义选择以考虑填充
为此,您需要以下内容:
您需要将UIImageView
作为子视图添加为具有填充的视图,如下所示:
从屏幕截图中可以看出,您需要为image
设置highlightedImage
和UIImageView
。图像将是一个简单的白色图像,highlightedImage
和图像将具有您想要的背景颜色。对我来说,我的照片看起来像这样:
然后,在您的自定义UITableViewCell
课程中,您可以执行以下操作:
@interface MyTableViewCell()
@property (weak, nonatomic) IBOutlet UIImageView *highlightImageView;
@end
@implementation MyTableViewCell
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[self.highlightImageView setHighlighted:selected];
}
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
// this will change the color on your image
[self.highlightImageView setHighlighted:highlighted];
}
快速实施
@IBOutlet weak var highlightedView: UIImageView!
override func setSelected(selected: Bool, animated: Bool) {
highlightedView.highlighted = selected
}
override func setHighlighted(highlighted: Bool, animated: Bool) {
highlightedView.highlighted = highlighted
}
如果您有疑问,请告诉我。
答案 1 :(得分:0)
您想使用嵌套视图:
视图1:将视图添加到单元格的内容视图中,该视图固定到0点的边缘。使背景颜色变灰。或使其透明并将表背景设置为灰色。
查看2:内部视图1
将其固定到视图1的边缘,使用前缘和尾缘以匹配灰色边框。使用顶部和底部引脚,其大小等于单元格之间灰色边距的一半。
使此视图的背景颜色为图片上左侧细垂直颜色条的颜色。
CTRL拖动此视图以在代码中创建IBOutlet,以便您可以按单元格更改单元格中的颜色。
视图3:内部视图2.
将其设为白色并将其固定在顶部,底部和后缘的0个点上以查看2.
将前缘固定到彩色垂直条的粗细。
最后将你的文字等放在视图3中并将其展开。
这将为您提供所需的布局。