正在回答 回答被采纳积分+1
2回答
Tender10
2017-07-25 11:34:26
在作业题的第三点思路分析中有具体的类的分析划分啊。蓝色的四个方块其实是4个按钮,可以通过for循环遍历去实现,for循环判断的条件是根据答案的长度来遍历的。答案是4个那么就遍历四次,然后在for循环中实现创建按钮的方法,并且计算好每个按钮的位置即可。如下是设置答案区域按钮的方法,其中方法的参数是数据模型对象,然后answerView其实就是答案区域蓝色的那个view,添加这个view是为了更好的遍历出所有的答案按钮。选项区域和这个实现的方式类似,你可以自己尝试一下。另外这个只是创建按钮的过程,如果进入到下一题该方法还需要进行清除之前按钮。你可以不用着急,先搭好界面,再去实现其他方法,光去想肯定不能很好地实现。要一点一点去做,做到的时候再去分析思路。加油!
-(void)createAnswerButton:(IdiomModal *)modal{ // 创建按钮 for (int i=0; i<modal.answer.length; i++) { //创建按钮 UIButton *ansButton=[UIButton buttonWithType:UIButtonTypeCustom]; //计算Frame CGFloat ansbtnMarin=15;//按钮之间的间距 CGFloat ansbtnW = 44;//宽度 CGFloat ansbtnH = 44;//高度 CGFloat leftRightMargin=(self.view.frame.size.width-ansbtnW*modal.answer.length-ansbtnMarin*(modal.answer.length-1))/2; //计算X坐标 CGFloat ansbtnX =leftRightMargin+i*(ansbtnW+ansbtnMarin); CGFloat ansbtnY = 0; ansButton.frame=CGRectMake(ansbtnX, ansbtnY, ansbtnW, ansbtnH); //设置按钮的样式 两种状态设置 [ansButton setBackgroundImage:[UIImage imageNamed:@"btn_answer_highlighted"] forState:UIControlStateHighlighted]; [ansButton setBackgroundImage:[UIImage imageNamed:@"btn_answer"] forState:UIControlStateNormal]; //添加到答案区域的View中 [self.answerView addSubview:ansButton]; //为按钮绑定点击事件 [ansButton addTarget:self action:@selector(didClick:) forControlEvents:UIControlEventTouchUpInside]; //设置按钮的文字颜色 [ansButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; } }
iOS入门:基础语法与常用控件
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星