国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

關(guān)情紙尾-----UIKit基礎(chǔ)-超級猜圖

2019-11-14 18:31:03
字體:
供稿:網(wǎng)友

超級猜圖

1>重點(diǎn)界面可變元素

  • 索引、描述以及圖片會隨著點(diǎn)擊下一題按鈕自動更換對應(yīng)的內(nèi)容
  • 點(diǎn)擊放大按鈕或者圖片本身可以放大圖片,且圖片放大后,有一層半透明的遮蓋處在圖片后面,遮蓋住屏幕上的的其他內(nèi)容點(diǎn)擊遮蓋或者其圖片可以將圖片恢復(fù)大小,并且遮蓋消失。
  • 每次點(diǎn)擊下一題按鈕,下方的答案框數(shù)答案文字選項也隨之改變。
  • 點(diǎn)擊下方候選答案按鈕,此按鈕隱身并且按順序顯示到上方的答案框中。
  • 自動判斷答案是否填滿,填滿后檢測是否正確,正確顯示藍(lán)色,并自動跳到下一題同時加分;錯誤顯示紅色。
  • 點(diǎn)擊提示按鈕,顯示正確答案的第一個文字,并且扣分。

2>部分新知識點(diǎn)

1.KVC鍵值對編碼

 1 - (instancetype) initWithDict:(NSDictionary *)Dict{ 2     //** 對模型進(jìn)行賦值 */ 3     if (self = [super init]) { 4         [self setValuesForKeysWithDictionary:Dict]; 5     } 6     return self; 7 } 8 其中setValuesForKeysWithDictionary:方法可以批量將字典中的元素賦值到對應(yīng)名稱的self成員變量中,字典中有幾個鍵值對,就可以有幾個與key相同的成員變量,要求字典鍵值名稱必須與模型成員名稱相同,便可自動復(fù)制。字典中的鍵值對可不全部顯示出來。 9 10 11 12 //KVC還可以查找路徑13 14  NSArray *array = [ persons valueForKeyPath: @“name”]15 16 KVC按照路徑取值時,如果對象不包含指定對象時,會自動進(jìn)入對象內(nèi)部,查找對象屬性。

 

2.懶加載固定模式

 1 - (NSArray *)questions 2 { 3     if (_questions == nil) { 4         // 1.加載plist 5         NSArray *tempArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"questions" ofType:@"plist"]]; 6         7         // 2.創(chuàng)建模型數(shù)組 8         NSMutableArray *arrayM = [NSMutableArray array]; 9         for (NSDictionary *dict in tempArray) {10             [arrayM addObject:[HZHquestions questionWithDict:dict]];11         }12     _questions = arrayM;13     }14     return _questions;15 }16 17 先判斷為空,再加載plist文件,使用for循環(huán)創(chuàng)建模型數(shù)組,將模型數(shù)組保存到成員變量數(shù)組中。

 

3.設(shè)置狀態(tài)欄顯示

 1 // 設(shè)置狀態(tài)欄高亮顯示 2 - (UIStatusBarStyle)PReferredStatusBarStyle{ 3     return UIStatusBarStyleLightContent; 4 } 5 // 設(shè)置狀態(tài)欄常規(guī)顯示 6 - (UIStatusBarStyle)preferredStatusBarStyle{ 7     return UIStatusBarStyleDefault; 8 } 9 // 設(shè)置狀態(tài)欄可見性10 - (BOOL)prefersstatusBarHidden{11 12     return YES;13 }                                                                                                                            

 

狀態(tài)欄默認(rèn)是顯示黑色

Image(21)

 

高亮狀態(tài)顯示白色

Image(22)

 

4.將圖片對象移到遮蓋對象的前面

1 [self.view bringSubviewToFront:self.pictureView]

 

5.將控件設(shè)為隱藏

1 option.hidden = YES;

 

6.取出控件的title

1  NSString *temp = [btn titleForState:UIControlStateNormal];

 

7.啟動畫面及APP圖標(biāo)

只要文件名為 “Icon.png”,就會被設(shè)置為APP圖標(biāo)。

一個app在啟動過程中會全屏顯示叫做Default.png的圖片。

不用規(guī)格Default的使用場合

  1.      Default.png:非retina-iphone屏幕,320x480
  2.          Default@2x.png:retina-iPhone屏幕,640x960
  3.          Default-568h@2x.png:4inch的retina-iPhone屏幕,640x1136
  4.          Default-Portrait~ipad.png:非retain-iPad豎屏屏幕,768x1024
  5.          Default-Portrait~ipad@2x.png:retain-iPad豎屏屏幕,1536x2048
  6.          Default-Landscape~ipad.png:非retain-iPad橫屏屏幕,1024x768
  7.          Default-Landscape~ipad@2x.png:retain-iPad橫屏屏幕,2048x1536

 

8.設(shè)置內(nèi)邊距制造相框效果

使用白色的圖片作為背景圖片,然后設(shè)置圖片的邊距Insert。即得到如右圖的效果。

              EA99AFD1-D3CC-4752-B1C2-C403A53469B2               Image(23)

9.大圖時的動畫

創(chuàng)建一個按鈕,背景色黑色,設(shè)置其透明度alpha。

用block代替頭尾式動畫,效率高。

 1 [UIView animateWithDuration:2.0 animations:^{ 2        //存放需要執(zhí)行的動畫 3          cover.alpha = 0.6; 4           5          CGFloat headW = self.view.frame.size.width; 6          CGFloat headH = headW; 7          CGFloat headX = 0; 8          CGFloat headY = 0.5 * (self.view.frame.size.height- headH); 9          self.head.frame = CGRectMake(headX, headY, headW, headH);10          11      }];

 

10.點(diǎn)擊選項按鈕

(1)被點(diǎn)擊的選項按鈕消失(hidden = YES)
(2)將選中選項的文字放到答案區(qū)的按鈕上
(3)把文字放到第一個沒有文字的答案按鈕上
(4)點(diǎn)擊有文字的答案按鈕,文字恢復(fù)到選項
(5)答案填滿后,阻止事件觸發(fā)
33FD92B2-FAD9-4C42-BB83-6C39A18794B9
 

 以上是我覺得這個小案例里面主要的一些新知識


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 横峰县| 凭祥市| 长岭县| 区。| 万年县| 电白县| 南阳市| 遵化市| 义马市| 彭水| 潜山县| 松江区| 中西区| 准格尔旗| 虞城县| 寿宁县| 四子王旗| 太仆寺旗| 枣阳市| 千阳县| 永平县| 上犹县| 两当县| 广州市| 沂南县| 皋兰县| 武穴市| 涡阳县| 灌阳县| 二连浩特市| 潢川县| 开原市| 杨浦区| 岫岩| 宁强县| 中山市| 德令哈市| 遂川县| 通海县| 基隆市| 集安市|