2012-03-15 3 views
1

私はカスタムUITableViewセルを持っています。このセルは、セルの幅の一番上までの幅がUIImageViewで、その下のセルはUILabelです。オプションの画像を使用したカスタムUITableViewCell

UITableViewCellimageViewです。イメージビューのイメージが設定されている場合は、イメージを格納するためにセルtextLabelを右にプッシュします。私は自分のテーブルビューのセルと似たようなことをしたいと思います(ただし、私のラベルは押し下げられます)。

これをどのように達成できますか?

答えて

2

簡単な方法は、UITableViewCellをサブクラス化し、layoutSubviewsメソッドをオーバーライドすることです。

ここでは簡単な例を示します。

@interface CustomCell : UITableViewCell 

@end 

@implementation CustomCell 

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    // grab bound for contentView 
    CGRect contentViewBound = self.contentView.bounds; 

    if(self.imageView.image) { 
     // do stuff here, for example put the image right... 
     CGRect imageViewFrame = self.imageView.frame; 
     // change x position 
     imageViewFrame.postion.x = contentViewBound.size.width - imageViewFrame.size.width; 
     // assign the new frame 
     self.imageView.frame = imageViewFrame; 
    } 

    else { 
     // do stuff here 
    } 
} 

特に、このメソッドの内部では、imageに応じてセルのコンポーネントを配置できます。

希望します。

+0

はい私はちょうどこの行に沿って何かを試していた、私は正しい道にいることをいくつかの安心を得ることは良いです。ありがとう! – Darren

関連する問題