1

ロケーションアイコンを描画している UIView のサブクラスがあります。ビューを数度回転すると、境界 ( を使用して緑色で強調表示CGContextAddRect) が大幅に変化し、描画が歪んで見えるようになります。


(ソース: bytolution.com )


(ソース: bytolution.com )

これが私のコードです:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.locationTagView.frame = CGRectMake(40, 80, 240, 240);
    CGAffineTransform transform = CGAffineTransformMakeRotation(DegreesToRadians(30));
    self.locationTagView.transform = transform;
    [self.view addSubview:self.locationTagView];
}
4

1 に答える 1

2

これで修正されます:

#define LOCTAG_HEIGHT 240
#define LOCTAG_WIDTH 240

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.locationTagView.frame = CGRectMake(40, 80, LOCTAG_WIDTH, LOCTAG_HEIGHT);
    self.locationTagView.bounds = CGRectMake(0, 0, LOCTAG_WIDTH, LOCTAG_HEIGHT);
    CGAffineTransform transform = CGAffineTransformMakeRotation(DegreesToRadians(340));
    self.locationTagView.transform = transform;
    [self.view addSubview:self.locationTagView];
}


(ソース: bytolution.com )

境界を個別に設定すると機能します。

于 2013-04-09T19:03:44.837 に答える