2

私は45°に回転したUIImaveView(赤いもの)を持っています。これで、グラデーションを使用してUIImageを描画し、下にあるUIImageViewの上に配置します。45°回転したため、この UIImageView は下の UIImageView (灰色のもの) に重なっています。

だから私は、このUIImageViewを左上隅に収まるようにトリミングしたかったのですが、下にあるUIImageViewのフレームに重ならないようにしました。パスなどを描画するオプションがあるはずですが、誰かがもっと簡単な解決策を持っていることを願っていますか?

http://i.stack.imgur.com/C89nP.png

解決

UIImageView *rotatedGradient = [[UIImageView alloc] initWithFrame:CGRectMake(-20, -20, 50, 50)];
[_underlayingImageView addSubview:rotatedGradient];
[_underlayingImageView setClipsToBounds:YES];
4

1 に答える 1

3

通常、ビュー (赤) を別のビュー (グレー) のサブビューとして追加し、スーパービュー (グレー) を に設定します。これにより、サブビューclipsToBounds = YESがそのフレームの外側に描画することは許可されていないことがわかります。

clipsToBounds = YES両方のビュー (赤とグレー) が、関心のあるフレームを表す他のビューのサブビューである場合は、共通のスーパービューを設定できます。

于 2013-07-09T14:45:50.723 に答える