2016-09-04 21 views
5

Kodum neredeyse çalışıyor, ancak bir sorun var. aşağıdaki gibiÖzel bir öğenin bir öğesinin köşe yarıçapını ayarlama UITableViewCell

kısa sürede tablo yüklenir yüklenmez, resim görünüyor şunlardır:

As soon as the table is loaded, images looks are as follows

Ama kaydırırken tablo her şey iyidir:

But when i scroll the table everything is good

burada ne eksik ?

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 

cevap

5

Görüntünüzün çerçeve özelliği henüz güncellenmediğinden.

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 
: gibi

Sen UIImageView bir alt sınıfı yapmak ve orada o işi yapabilir,

İlgili konular