UIImageView,uiimageview點擊事件

來源:互聯網
上載者:User

UIImageView,uiimageview點擊事件

 

 //UIImageView 用來顯示圖片的控制項

  UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(10,_label.frame.size.height+10+10, self.window.frame.size.width , 200)];

 //設定背景顏色

    imgView.backgroundColor = [UIColor redColor];

 

    //設定圖片

    imgView.image = [UIImage imageNamed:@"m"];

 

 

 //設定圓角

 

    imgView.layer.masksToBounds = YES;

 

    imgView.layer.cornerRadius = 10;

       

 //UIImageView的填充模式

    /*圖片展示形式最常用的三個

    1.UIViewContentModeScaleToFill  //根據UIImageView大小自動展開填滿整個UIImageView,圖片會變形,但還是會完整顯示

    2.UIViewContentModeScaleAspectFit //圖片部分適應,會展開圖片,但是UIImageView填不滿,當圖片的某個邊緣達到架構的寬(或高)頂部時將停止展開,等比展開,圖片完整顯示

    3.UIViewContentModeScaleAspectFill //可能只顯示圖片的某個部分,即使圖片超出你的架構,配合裁剪方法(clipsToBounds)使用,圖片超出的部分就會被裁減,圖片沒有完整顯示;倘若不配合裁剪方法(clipsToBounds)使用,就可以看出它的等比拉升效果     

    */

   imgView.contentMode = UIViewContentModeScaleAspectFill;

 //截取超出範圍的圖片

   imgView.clipsToBounds = YES;

 

 //設定imgView是否與使用者互動 

 imgView.userInteractionEnabled = YES

 

 

 //對於ImageView中的animation動畫,在這裡我就挑幾種經常得用到的來講

 //第一種(通過這種方法可以做出湯姆貓遊戲,需要素材的留言,我發給你們)

 //(1)圖片數組(animationImages)

 //要做動畫的話 animationImages裡面一定要裝的是UIImage 不能是圖片的名稱字串

 imgView.animationImages = Array;

 

 //(2)一輪動畫時間的期間(animationDuration)

 imgView.animationDuration = 0.5;

 

 //(3)動畫重複次數(animationRepeatCount)

   //0的意思是這個動畫一直進行不會停下來 其他數字表示重複動畫的次數

   imgView.animationRepeatCount = 0;

  

 //在以上(1)~(3)都設定好的前提下,開始動畫

 [imgView startAnimating];

 

 

 //***************分割線*******************

 //第二種(通過超類UIView來調用方法)

   //動畫1(開始動畫)

   [UIView beginAnimations:nil context:NULL];

    //動畫期間

    [UIView setAnimationDuration:2.0];

    //[注意]動畫必須放在開始( beginAnimations)和提交(commitAnimations)中間  

 //通過手勢來擷取view

    UIImageView *img = (UIImageView *)tap.view;

    /*不允許單獨直接修改結構體frame中的任何一個元素

    //img.frame.size.width =100;

    若要修改結構體frame中的任何一個元素,可用以下方法

    /*

 CGRect rect = img.frame;

   rect.origin.y = 0.0;

   img.frame = rect;

     */

    CGRect rect = img.frame;

 //通過建立一個rect結構體來作為中介改變其中的值

    rect.origin.y = 0.0;

 //imgView移動的最終位置

    img.frame = rect;

    //提交動畫

    [UIView commitAnimations];

 

 //***************分割線*******************

 //第三種(通過超類UIView的類方法animateWithDuration: animations:執行動畫)

   //利用仿色變換旋轉UI

    [UIView animateWithDuration:1.25 animations:^{

        UIImageView *img = (UIImageView *)tap.view;

        /*

         旋轉

         參數1:在哪個基礎上開始旋轉

         參數2:旋轉的角度

         */

        img.transform = CGAffineTransformRotate(img.transform, 90*(M_PI/180));

    }];

 

    //***************分割線****************

 //第四種(通過超類UIView的類方法

 [UIView animateWithDuration:(NSTimeInterval) animations:^(void)animations completion:^(BOOL finished)completion執行動畫)

    [UIView animateWithDuration:2.0 animations:^{

        //block中為執行動畫的UI

        UIImageView *img = (UIImageView *)tap.view;

   //移動動畫

        img.frame = CGRectMake(0, 0, 50, 120);

    } completion:^(BOOL finished){

        //動畫執行完後的回調

        UIImageView *img = (UIImageView *)tap.view;

        img.frame = CGRectMake(0,0,170,250);

   //動畫執行完後就把圖片移動中間

        img.center = self.window.center;

     }];

 

 

 

  以上動畫方法只是個人常用的,大家可以去Xcode的內建檔案中去看,還有很多,有需要的我再補充

  

 

 

 

 

 

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.