XCodeからInterface BuilderでUIImageViewを回転させることは可能ですか? Photoshop でできるように、画像の拡大縮小と回転を行うことができます。
コードでそれが可能であることは知っていますが、インターフェースビルダーでこれを行う方法はありますか?
XCodeからInterface BuilderでUIImageViewを回転させることは可能ですか? Photoshop でできるように、画像の拡大縮小と回転を行うことができます。
コードでそれが可能であることは知っていますが、インターフェースビルダーでこれを行う方法はありますか?
はい、できますが、ちょっとしたトリックを使用します。
コードで新しい 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」を直接使用できるようになりました。
ランタイム レンダリングにのみ影響するため、明らかにインターフェイス ビルダーは内部レンダリングでビューを回転しません。
これは、現在のバージョンの Xcode では実行できません。https://feedbackassistant.apple.com/で Apple に機能リクエストを送信できます。
ただし、それを行いたい場合は、いくつかのコードを記述する必要があります
#define RADIANS(degrees) ((degrees * M_PI) / 180.0)
theView.transform = CGAffineTransformRotate(theView.transform, radians)
いいえ、インターフェイスビルダーでは不可能ですが、コードは非常に単純です:
#define RADIANS(degrees) ((degrees * M_PI) / 180.0)
CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity,
RADIANS(120.0));
imageView.transform = rotateTransform;