簡體   English   中英

使用用戶定義的運行時屬性旋轉(角度)UIView

[英]Rotate (angle) a UIView, using User Defined Runtime Attributes

是否可以旋轉UIView或UIImageView,比如10或15度,

實際上使用用戶定義的運行時屬性?

或者它只能在代碼中完成?

(注意..為了谷歌,我提到“角度”和“按度”;它可能會混淆“旋轉”設備方向改變的想法。)


或者,你是否可能以這樣一種方式對UIView進行子類化 ,即公開用戶定義的運行時屬性,這樣做呢? (我生銹了:/)

您可以為UIView對象使用layer.transform.rotation.z鍵路徑。
值必須以弧度為單位:

在此輸入圖像描述

結果:

在此輸入圖像描述

Apple文檔中提供了所有轉換關鍵路徑。

在此答案的擴展中如何從'sender'對象訪問用戶定義的運行時屬性? ,您可以將運行時值檢索為NSNumber(以度為單位),然后執行旋轉。 如果要進行旋轉,請在界面構建器中觸發IBAction

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

@interface RTFRotatingView : UIView
@end

@implementation RTFRotatingView

- (IBAction)performRotation:(UIControl *)sender {
    if ([sender respondsToSelector:@selector(keyName)]) {
        NSNumber *degrees = [sender valueForKey:@"keyName"];
        CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(degrees.doubleValue));
        self.transform = rotateTransform;
    }
}

@end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM