UIImageView

来源:http://www.cnblogs.com/Mr-Lin/archive/2016/01/03/5097144.html
-Advertisement-
Play Games

//UIImageView 用來顯示圖片的控制項 UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(10,_label.frame.size.height+10+10, self.window.frame.size....


 

 //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的內置文件中去看,還有很多,有需要的我再補充

  

 

 

 

 

 

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、基礎操作1、命令mongo2、插入db.表名.insert({“屬性”:”值”})3、查找全部db.表名.find()4、根據條件查找db.表名.find({“name”:”value”})5、更新 update({查找條件},{更新後屬性值})6、刪除 remove({查找條件})7、查看1條...
  • Redis 配置Redis 的配置文件位於 Redis 安裝目錄下,文件名為 redis.conf。你可以通過 CONFIG 命令查看或設置配置項。語法3>Redis CONFIG 命令格式如下:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME...
  • 步驟1,打開“Generate and Publish Objects”嚮導。右鍵點擊要導出數據的資料庫,選擇Taks->GenerateScript 步驟2,選擇要導出數據的表。在上一步的彈窗視窗中選擇Next跳過“Introduction”,之後進入“Choose Objects”界面。 預設的...
  • 上一篇隨筆,已經成功開啟了Redis-server,客戶端已經可以正常對redis進行正常操作。但是,redis-server開啟的同時,一個大大doc黑屏也在那裡開啟著,接下來就對講解如何在Linux系統下讓redis-server後臺運行(相當於windows系統下以後臺服務運行)(1)打開re...
  • 最近項目要使用Redis,特將這段時間將Redis的學習經驗與大家分享,算是對這段時間學習成果的總結和技術提煉,不足之處還望大家批評指正。項目背景:有些很少改動的數據和經常使用的數據(例如系統中下拉列表數據),系統需要頻繁的與SqlServer資料庫進行數據交互,大大的增加了伺服器和SqlServe...
  • 正則表達式正則表達式是對字元串操作的一種邏輯公式, 用事先定義好的一些特定字元、及這些特定字元的組合, 組成一個"規則字元串",這個"規則字元串"用來表達對字元串的一種過濾邏輯,正則表達式就是用於描述這些規則的工具,或者說, 正則表達式就是記錄文本規則的代碼.在開發中, 我們經常會有查找符合某些複雜...
  • 新手的煩惱你不懂 - - ## 這個問題著實變態,就是普通的 UITableViewController ,數據是靜態的,運行時動態添加了一個 UIView(xib)作為 tableFooterView ,關鍵是豎屏的時候事件完全不受影響,橫豎屏一切換就收不到事件鳥。
  • 複製無處不在,用 Storyboard 做差不多的界面難免會複製,今天莫名其妙的崩潰鳥!
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...