6

XCodeからInterface BuilderでUIImageViewを回転させることは可能ですか? Photoshop でできるように、画像の拡大縮小と回転を行うことができます。

コードでそれが可能であることは知っていますが、インターフェースビルダーでこれを行う方法はありますか?

4

4 に答える 4

7

はい、できますが、ちょっとしたトリックを使用します。

コードで新しい UIView カテゴリを次のように宣言します

@interface UIView (IBRotateView)

@property (nonatomic, assign) CGFloat rotation;

@end


@implementation UIView (IBRotateView)
@dynamic rotation;

- (void)setRotation:(CGFloat)deg
{
    CGFloat rad = M_PI * deg / 180.0;

    CGAffineTransform rot = CGAffineTransformMakeRotation(rad);

    [self setTransform:rot];
}

@end

これで、任意の UIView でこのようにインターフェイス ビルダーでランタイム パラメーター「rotation」を直接使用できるようになりました。

ここに画像の説明を入力

ランタイム レンダリングにのみ影響するため、明らかにインターフェイス ビルダーは内部レンダリングでビューを回転しません。

于 2015-09-03T15:00:09.637 に答える
6

これは、現在のバージョンの Xcode では実行できません。https://feedbackassistant.apple.com/で Apple に機能リクエストを送信できます。

ただし、それを行いたい場合は、いくつかのコードを記述する必要があります

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)

theView.transform = CGAffineTransformRotate(theView.transform, radians)
于 2013-02-01T20:49:02.463 に答える
3

いいえ、インターフェイスビルダーでは不可能ですが、コードは非常に単純です:

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)

CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity,
     RADIANS(120.0));

imageView.transform = rotateTransform;
于 2013-02-01T20:30:27.677 に答える