正在回答 回答被采纳积分+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 星