貓貓學IOS(四)UI之半小時搞定Tom貓

來源:互聯網
上載者:User

標籤:ui   應用   ios   記憶體   源碼   

話不多說 先上效果
項目源碼素材: Tom貓遊戲代碼iOS 素材http://blog.csdn.net/u013357243/article/details/44457357

曾經風靡一時的tom貓其實製作起來那是叫一個相當的easy啊
功能全部實現,(關鍵是素材,沒有素材的可以加我)
新手也可以很快的完成tom這個很拉轟的ios應用哦
做過android的我表示,android黨默哀下把,那個做起來真心痛苦。。。。




然後呢你需要準備這些素材。。。

拖拽控制項吧,因為這一個項目用到的不是很多,用代碼寫太累了,得不償失,大家有興趣的可以自己謝謝純程式碼做ui的練習哦不會的可以參考我的前面一篇
貓貓學IOS(三)UI之純程式碼實現UI——圖片查看器

拖拽控制項,那些東西呢 看圖片吧

就是這些東西,那個名字的地方在代碼中又妙用
另外UIButton的tag屬性也被添加了奇妙的數字
如果不會拖拽控制項的可以看 貓貓學IOS(一)UI之Hello World與加法計算機

下面上代碼

代碼
//調用button監聽方法-(IBAction)tomAction:(UIButton *)button{    [self tomAnimationWithName:button.currentTitle count:button.tag];}//讓tom貓動起來,name是要執行動作的名字 count是圖片的個數-(void) tomAnimationWithName:(NSString *) name count:(NSInteger) count{    //如果動畫現正播放就返回不執行    if (self.tom.isAnimating) {        return;    }    //序列幀動畫 播放一組圖片    //指定動畫圖片的數組    NSMutableArray *arrayM = [NSMutableArray array];    //添加動畫播放的素材    for (int i = 0; i<count;  i++) {        NSString *imageName = [NSString stringWithFormat:@"%@_%02d.jpg",name,i];//      UIImage *image = [UIImage imageNamed:imageName];//        得到全路徑名字        NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];        UIImage *image = [UIImage imageWithContentsOfFile:path];        arrayM[i] = image;    };    //把操作好的UIImage圖片放到UIImageView的animationImages當中   把圖片數組放Tom控制項中    self.tom.animationImages = arrayM;    //設定執行一次    [self.tom setAnimationRepeatCount:1];    //設定執行時間    self.tom.animationDuration = arrayM.count * 0.075;    //開始執行動畫    [self.tom startAnimating];    //結束動畫後,清理動畫數組    [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];}

這裡就是我們要用到的代碼了,記得要給弄好的代碼前面的圈圈連到ui上面,否則點不點都沒用的
你敢相信嗎,tom貓就這麼幾行代碼就完成了,不到一個螢幕,大多數還是注釋。

說說應該注意的地方吧
這裡面記憶體管理特別重要,我們並沒有用ios建議 我們用的
[UIImage imageNamed:name];
而是用了:
[UIImage imageWithContentsOfFile:path];
因為這樣我們可以更完美的釋放記憶體
記憶體在ios中相當重要,客戶體驗一直是蘋果提醒的(據說android5.0還是5.1又漏了。。。其實安卓真的不錯,我沒有黑android的意思哦,只是希望android能更加茁壯的成長,更加完善。)

重構_映像的執行個體化

重構–抽取代碼
方法:
1> 將重複代碼複製到新的方法中
2> 根據需要調整參數

關於映像的執行個體化

imageNamed:系統推薦使用的,但是映像執行個體化之後的釋放由系統負責
如果要自己釋放圖片,不能使用imageNamed方法!

而需要使用imageWithContentsOfFile

提示:如果放在Images.xcassets中的圖片,不能使用imageWithContentsOfFile
Images.xcassets中不要 存放大的,不常用的圖片

PS1.需要學習資料的可以加我 znycat(標註從哪看到的,學習資料都免費,包括視頻,ppt,項目,項目素材。。。。。) 。————我就是太多學不完了,想找幾個人陪我一起糾結。歡迎大家來交流。

貓貓學IOS(四)UI之半小時搞定Tom貓

聯繫我們

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