Assume you have a triangle image you want to use at different angles (e.g., 180 degrees, 90 degrees).
Is it possible to rotate the triangle image within Storyboard, or do you need to do it programmatically?
From the Tools toolbar, select the Rotate View tool. Hold down Ctrl+Alt (Windows) or ⌘+Alt (Mac OS X).
Basic Swift Code for iOS AppsStep 1 − Open Xcode→SingleViewApplication→name it RotateImage. Step 2 − Open Main. storyboard, add UIImageView and add 2 buttons as shown below name them ROTATE BY 90 DEGREES AND ROTATE BY 45 DEGREES. Add some sample images to UIImage View.
You could probably create an IBDesignable
& IBInspectable
UIView
subclass that had a rotation angle property, and applied a transform to the image it contained.
IBInspectable
allows you to expose custom properties of your custom views in IB's Attributes inspector.
Making a view IBDesignable
allows you to view a preview of your custom view object in IB.
This is a very old thread, but I decided to implement a custom UIView that allows rotation, as I described. Since it's now 2021, I used Swift:
@IBDesignable class RotatableView: UIView {
@objc @IBInspectable var rotationDegrees: Float = 0 {
didSet {
print("Setting angle to \(rotationDegrees)")
let angle = NSNumber(value: rotationDegrees / 180.0 * Float.pi)
layer.setValue(angle, forKeyPath: "transform.rotation.z")
}
}
}
That yields the following in Interface Builder:
It is possible to set layer.transform.rotation.z
in User Defined Runtime Attributes. Check this answer: https://stackoverflow.com/a/32150954/2650588
Programmatically some thing like this can help:
//rotate rect
myImageView.transform = CGAffineTransformMakeRotation(M_PI_2); //90 degree//rotation in radians
//For 180 degree use M_PI
Or make a macro like this:
#define DEGREES_TO_RADIANS(degree) (M_PI * (degree) / 180.0)
and use this way:
CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(90));//here may be anything you want 45/90/180/270 etc.
More here : apple link
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With