0

UITableViewCell私は設定しているサブクラスを持っていimageViewます。60x60 に維持したいので、サブクラスのメソッドにframeandを設定します。boundslayoutSubviews

- (void)layoutSubviews {
    [super layoutSubviews];

    self.imageView.bounds = CGRectMake(10,10,60,60);
    self.imageView.frame = CGRectMake(10,10,60,60);
    self.imageView.clipsToBounds = YES;

}//end

の境界を超える画像が得られるまで、これはうまく機能しますimageView

ここに画像の説明を入力

そのため、必ずclipsToBoundsYES に設定します。

ここに画像の説明を入力

しかし、ご覧のとおり、そうすべきではないと思いますが、まだ and をインデントしていますtextLabeldetailTextLabel

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

私が行ったより良い解決策は、ビルドインを使用せずにimageView自分でロールバックすることだったと思います. これははるかにうまく機能しました。

于 2012-06-07T15:32:50.137 に答える
0

実装での位置を設定できtextLabelます。-layoutSubviews

- (void)layoutSubviews {
    [super layoutSubviews];

    self.imageView.bounds = CGRectMake(10,10,60,60);
    self.imageView.frame = CGRectMake(10,10,60,60);
    self.imageView.clipsToBounds = YES;

    CGFloat x = 10.0 + 60.0 + 10.0; // Padding, image width, and padding.

    CGRect frame = self.textLabel.frame;
    frame.origin.x = x;
    self.textLabel.frame = frame;

    frame = self.detailTextLabel.frame;
    frame.origin.x = x;
    self.detailTextLabel.frame = frame;

} //end

おそらく の値を調整したいと思うでしょうx

お役に立てれば。

于 2012-06-06T09:43:27.883 に答える