超級猜圖
1>重點(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)是顯示黑色
高亮狀態(tài)顯示白色
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的使用場合
8.設(shè)置內(nèi)邊距制造相框效果
使用白色的圖片作為背景圖片,然后設(shè)置圖片的邊距Insert。即得到如右圖的效果。
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)擊選項按鈕
♥ 以上是我覺得這個小案例里面主要的一些新知識♥
新聞熱點(diǎn)
疑難解答