内容简介:实现的效果如下图:点击入会门槛,按钮打开后会弹出需要的贡献值填写栏,按钮关闭时会隐藏填写栏。开始看到页面设计稿,页面比较简单,每一行都是一个label一个按钮,所以先确定用tablevView画,且tablevView创建在controller里即可,正常创建cell,很容易得出左边图的原始布局页面。
实现的效果如下图:
点击入会门槛,按钮打开后会弹出需要的贡献值填写栏,按钮关闭时会隐藏填写栏。
确定大致思路:
开始看到页面设计稿,页面比较简单,每一行都是一个label一个按钮,所以先确定用tablevView画,且tablevView创建在controller里即可,正常创建cell,很容易得出左边图的原始布局页面。
重点是:
1.对按钮进行判断,仅当入会门槛右边的按钮选中时才会弹出输入框。
2.cell的布局变化。
第二点对我来说会比较难和烦,cell高需要自适应,弄的时候也有踩坑。
因为cell的最底部都是一条浅横线,涉及到它们的状态变化(显示或者隐藏),所以最好创建它们的全局变量,可以偷懒,直接
{
UIImageView *_line;
}
复制代码
或者老老实实声明属性创建。
控件包含5个:
1.左侧label、
2.右侧开关button、
3.小红圆勾选button
4.初始页每个cell都有的底部横线line、
5.输入栏的底部横线(这根线很重要,用来撑开自适应的布局,即需要它确定bottom)。
其中2.的初始状态要设为未选中;输入栏的控件3.和4.和5.的初始状态要设为隐藏。
开始: - (void)setLayout; 方法里进行控件布局:
左侧label和右侧button和红色勾选button正常写布局,重点是线:
每个cell都有的底部横线不能设置bottom,而输入栏的底部横线则需要设置相对bottom位置,用于确定cell的底部在哪,撑开cell高度。
依然使用 cell.index = indexPath.row; 传每行cell的下标。
因为左侧label数量比较少,就不创建dataArray来赋值了,直接在setIndex方法里进行判断赋值:
- (void)setIndex:(NSInteger)index{
_index = index;
if(index == 0){
self.leftTitle.text = @"入会验证";
}else if(index == 1){
self.leftTitle.text = @"入会门槛";
}else if (index == 2){
self.leftTitle.text = @"不允许任何人入会";
}
}
复制代码
按钮的点击事件方法里,进行判断,当为入会门槛一行时,即 index == 1 时,且按钮为选中状态时,才会弹出输入栏。
实现点击按钮,选中和不选中状态交替的语句为: self.rightButton.selected = !self.rightButton.selected;
直接贴点击事件的方法了吧:
- (void)buttonAction:(UIButton *)button{
self.rightButton.selected = !self.rightButton.selected;
if(button.tag == 1){
if(self.index == 0){
NSLog(@"验证,开!");
}else if (self.index == 1){
NSLog(@"门槛,开!");
if(self.rightButton.selected == YES){
self.redDotButton.hidden = NO;
self.valueTextField.hidden = NO;
self.bline.hidden = NO;
[self.redDotButton mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.offset(49+15);
}];
}else{
self.redDotButton.hidden = YES;
self.valueTextField.hidden = YES;
self.bline.hidden = YES;
[self.redDotButton mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.offset(15);
}];
}
[self.subject sendNext:@"1"];
}else if (self.index == 2){
NSLog(@"允不允许");
}
}else if(button.tag == 2){
NSLog(@"贡献值勾选按钮常为选中状态");
}
}
复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 记一次ajax的JSESSIONID 变化解决、非跨域变化
- ReactNative字体大小不随系统字体大小变化而变化
- 三月新变化
- 2019 年总结:拥抱变化
- InnoDB mutex 变化历程
- 变化莫测的mysqldump
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to Genetic Algorithms
Melanie Mitchell / MIT Press / 1998-2-6 / USD 45.00
Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems and as computational models of natural evolutionary systems. This brief, accessible i......一起来看看 《An Introduction to Genetic Algorithms》 这本书的介绍吧!