0

UISegmentedControl を内部に配置する目的で UITableViewCell をサブクラス化しています。UISegmentedControl のフォントがでかいので減らしたい。
ここに私が今使っているものがあります:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.segmentedControl = [[UISegmentedControl alloc] initWithFrame:properFrame];
        self.segmentedControl.transform = CGAffineTransformMakeScale(.8f, .8f);
        [self.contentView addSubview:self.segmentedControl];
    }
    return self;
}

ただし、segmentedControl は 1 回縮小し、テーブルを下にスクロールしてから上にスクロールするたびに、segmentedControl は約 1.2 倍に拡大 (!) されます。つまり、要求した変換の逆です。

使用する iOS SDK は 5.0、ターゲット プラットフォーム - 4.0、シミュレータ バージョン 5.0 です。

どんな助けでも大歓迎です。

4

1 に答える 1

1

うーん、100% 確実ではありませんが-(void)layoutSubviews 、サブクラス化された UITableViewCell のメソッドをオーバーライドして、セグメント化されたコントロールの変換を ID から 0.8f に再度設定してみませんか...

于 2012-05-07T19:24:28.507 に答える