OC,oc語言

來源:互聯網
上載者:User

OC,oc語言
簡介

  • 每個UI控制項,預設自動建立一個圖層(根圖層),即每個UI控制項對應於至少一個圖層
  • 每一個UIView內部都預設關聯著一個CALayer,我們可用稱這個Layer為Root Layer(根層)
  •  所有的非Root Layer,也就是手動建立的CALayer對象,都存在著隱式動畫 什麼是隱式動畫?
  •  當對非Root Layer的部分屬性進行修改時,預設會自動產生一些動畫效果 
  • 而這些屬性稱為Animatable Properties(可動畫屬性)
  • 常見的可執行隱式動畫的屬性

    • 位置與尺寸

      • anchorPoint,錨點
      • position,位置
      • bounds, 尺寸
      • frame,位置與尺寸
      • transform,形變
    • appearance

      • backgroundColor,背景色
      • hidden,是否隱藏
      • opacity,透明度
      • maskToBounds,是否剪下超出圖層地區的的內容
      • cornerRadius,圓角半徑
    • 邊框

      • borderWidth,邊框寬度
      • borderColor,邊框顏色
    • 陰影

      • shadowColor,背景顏色
      • shadowOffset,背景位移量
      • shadowOpacity,背景透明度
      • shadowPath,背景邊框的路徑,即背景顯示什麼形狀的圖形
      • shadowRaduis,背景的圓角半徑
樣本
  • 通過storyboard建立一個UIView對象,並擁有該對象

    @property (weak, nonatomic) IBOutlet UIView *blueView;
  • 點擊螢幕,動態修改圖層的可動畫屬性

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{//通過隨機數產生隨機的旋轉角度CGFloat angle = angleToRadion(arc4random_uniform(360) + 1);//旋轉self.blueView.layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1);//移動到隨機位置(50~249, 50~449)self.blueView.layer.position = CGPointMake(arc4random_uniform(200) + 50, arc4random_uniform(400) + 50);//設定隨機的圓角半徑self.blueView.layer.cornerRadius = arc4random_uniform(50);//設定隨機的背景顏色self.blueView.layer.backgroundColor = [self randomColor].CGColor;//設定隨機的邊框寬度self.blueView.layer.borderWidth = arc4random_uniform(10);//設定隨機的邊框顏色self.blueView.layer.borderColor = [self randomColor].CGColor;}
  • 產生隨機顏色的方法

    - (UIColor *)randomColor{return [UIColor colorWithRed:arc4random_uniform(256) / 255.0 green:arc4random_uniform(256) / 255.0 blue:arc4random_uniform(256) / 255.0 alpha:1];}
  • 實現效果

     

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.