码迷,mamicode.com
首页 > 其他好文 > 详细

疯狂猜图需求分析及知识点

时间:2014-12-06 16:42:12      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   ar   color   os   使用   sp   

需求分析
1>界面可变元素
     1.有个索引,图片以及描述,随着下一题按钮的点击自动跳转到下一项。
     2.点击放大按钮或者图片可以将图片进行放大,且图片放大后,有一层半透明的遮罩显示在放大后的图片后,遮罩盖住后边的所有元素。点击遮罩及图片可以将图片及遮罩还原。
     3.每次点击下一题按钮,下方的答案框数量跟随改变且候选答案文字也随之改变。
     4.点击下方候选答案按钮,此按钮隐身,同时文字显示在上方答案按钮上。
     5.点击答案按钮,文字小时,下方对应的备选答案按钮显示。
     6.自动判断答案是否填满,填满后检测是否正确。正确显示蓝色,并自动跳往下一题,加分;错误显示蓝色。答案不满时变回黑色。
     7.点击提示按钮,点击正确答案的第一个文字,扣分。
2> 新增知识点
     1.KVC键值对编码
1 - (instancetype) initWithDict:(NSDictionary *)Dict{
2     //** 对模型进行赋值 */
3     if (self = [super init]) {
4         [self setValuesForKeysWithDictionary:Dict];
5     }
6     return self;
7 }

 

其中setValuesForKeysWithDictionary:方法可以批量将字典中的元素赋值到对应名称的self成员变量中,字典中有几个键值对,就可以有几个与key相同的成员变量,要求字典键值名称必须与模型成员名称相同,便可自动复制。字典中的键值对可不全部显示出来。
KVC还可以查找路径
 1 NSArray *array = [ persons valueForKeyPath: @“name”]  KVC按照路径取值时,如果对象不包含指定对象时,会自动进入对象内部,查找对象属性。
 
     
     2.懒加载固定格式
#pragma mark 懒加载
 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.创建模型数组
 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 }

 

先判断为空,然后加载plist文件,使用for循环创建模型数组,将模型数组保存到成员变量数组中。
 
     3.设置状态栏显示
 1 // 设置状态栏高亮显示
 2 - (UIStatusBarStyle)preferredStatusBarStyle{
 3     return UIStatusBarStyleLightContent;
 4 }
 5 // 设置状态栏常规显示
 6 - (UIStatusBarStyle)preferredStatusBarStyle{
 7     return UIStatusBarStyleDefault;
 8 }
 9 // 设置状态栏可见性
10 - (BOOL)prefersStatusBarHidden{
11 
12     return YES;
13 }

 

UIStatusBarStyle是状态栏状态,UIStatusBarStyleLightContent和UIStatusBarStyleDefault是状态栏的两个状态

 

 
     4.判断两个字符串是否相等不能用“==”,要用isEqualToString:
 [options isEqualToString:question.answer] ,判断两个字符处是否相等。
 
     5.重写description方法,跟踪对象数据。
 
bubuko.com,布布扣bubuko.com,布布扣
   6.将对象移到最前
 [self.view bringSubviewToFront:self.pictureView]  
        
  7.移除所有子控件
 [self.answerView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];  
 
  8.将控件设为隐藏状态
 option.hidden = YES; 
 
  9.取出控件的title
  NSString *temp = [btn titleForState:UIControlStateNormal]; 

疯狂猜图需求分析及知识点

标签:des   style   blog   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/hangzhenhua/p/4148299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!