0

私はあなたがボールに触れて、いくつかのバーを通過しなければならないゲームを作っています。ただし、ボールはそれらのバーに触れてはなりません。ボールはgif画像です。私の問題は次のとおりです。ボールは円ですが、uiimageviewは正方形です。uiimageviewのコーナー(ボールの画像ではありません)がバーに触れると、ボールがバーに触れたと表示されます。たとえ私がそれをしても

// imageMover is the UIImageView
// the radius of the ball is 30.0
[[imageMover layer] setMasksToBounds:YES];
[[imageMover layer] setCornerRadius:30.0f];

変化はありません。丸みを帯びたフレーム(CGRect)が必要だと思いますが、丸みを帯びたフレームをどのように「作成」しますか?

4

2 に答える 2

0

丸みのあるフレームを作成することはできません。

ただし、角が丸い UIImageView を作成できます。

QuartzCore (#import ) ヘッダーをインポートし、UIImageView のレイヤー プロパティを操作します。

    imageMover.layer.cornerRadius = yourRadius;
    imageMover.clipsToBounds = YES;

詳細については、CALayer クラスのリファレンスを参照してください: https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html

ありがとう!

于 2014-03-09T14:36:19.127 に答える
0

これを試して

imageMover.layer.shouldRasterize = YES;

imageMover.clipsToBounds = YES;

imageMover.layer.cornerRadius = 10.0f; // what number you want
于 2014-03-09T13:45:29.793 に答える