我的代码几乎可以正常工作,但有一个问题。
表格加载完毕后,图像如下所示:
但是当我滚动表格时,一切都很好:
这里缺少什么?
class ShopTableViewCell: UITableViewCell {
let disposeBag = DisposeBag()
@IBOutlet weak var shopImageView: UIImageView!
@IBOutlet weak var imagesCollectionView: UICollectionView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var likeButton: UIButton!
@IBOutlet weak var imageContainer: UIView!
override func layoutSubviews() {
super.layoutSubviews()
imageContainer.clipsToBounds = true
imageContainer.layer.cornerRadius = imageContainer.frame.size.width / 2
imageContainer.layer.borderWidth = 1
imageContainer.layer.borderColor = UIColor(hex: "#BDBDBD").CGColor
最佳答案
这是因为您的 imageview 的 frame 属性尚未更新。
你可以创建一个 UIImageView 的子类并在那里完成那个工作, 喜欢:
swift
class CircleImageView: UIImageView {
override func layoutSubviews() {
super.layoutSubviews()
self.layer.borderWidth = 1 / UIScreen.mainScreen().scale
self.layer.borderColor = UIColor(hex: "#BDBDBD").CGColor
self.layer.cornerRadius = self.bounds.size.width/2
self.layer.masksToBounds = true
}
}
objective-C
@implementation CircleImageView
- (void)layoutSubviews {
[super layoutSubviews];
self.layer.borderWidth = 1 / [UIScreen mainScreen].scale;
self.layer.borderColor = [UIColor whiteColor].CGColor;
self.layer.cornerRadius = self.bounds.size.width/2;
self.layer.masksToBounds = YES;
}
@end
关于ios - 在自定义 UITableViewCell 中设置元素的角半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39319306/