一.关于选中不选中问题的处理方式
需求:默认选择第一个,其次单机那个选择那个
1.首先在Model层使用BOOL声明一个变量是来记录是否选中
//标记是否是被选中
@property (nonatomic, assign) BOOL selectedFlag;
2.在获取数据之后默认选择第一个
[[self.giftBagDataArr firstObject] setSelectedFlag:YES]; //默认选中第一个
3.在didSelectItemAtIndexPath
方法中遍历数据
for (LYNoticeModel *model in self.giftBagDataArr) {
model.selectedFlag = NO;
}
if (self.giftBagDataArr.count <= 0) return;
LYNoticeModel *noticeModel = self.giftBagDataArr[indexPath.row];
noticeModel.selectedFlag = YES;
4.在cell中的操作如下:
- (void)setModel:(LYNoticeModel *)model{
if(!model)return;
_model = model;
self.nameLabel.text = model.title;
if (model.selectedFlag) {
[self selectedCell];
}else{
[self unselectedCell];
}
}
- (UIBezierPath*)path{
if (!_path){
_path = [UIBezierPath bezierPathWithRoundedRect:self.background.bounds cornerRadius:2];
}
return _path;
}
//单元格是选中状态
- (void)selectedCell{
self.background.layer.shadowColor = kColorMainRed.CGColor;
self.background.layer.shadowPath = self.path.CGPath;
self.background.layer.shadowOpacity = 1;
}
//单元格不是选中状态
- (void)unselectedCell{
self.background.layer.shadowOpacity = 0;
}
- (void)initUI{
self.background = [[UIView alloc]init];
[self addSubview:self.background];
...//初始化其他UI控件
}
二.关于collection选中与选中问题,其中最后一个是输入框
需求:默认选择第一个,其次单机那个选择那个,重点在于最后输入框的选中
可能出现的问题:
- 按照上面的方法做,填葫芦画瓢的方式。只有点击最后一个cell才会选择,但是不会弹出键盘
- 当点击最后一个输入框,可能最后一个不被选择,但是可以弹出键盘
三.关于一个奇葩键盘弹起中的一个奇葩问题
起因:来自于禅道上提出bug
经过:首先对于这个bug,我拿自己手机6s测的时候没没有出现类似问题,然后同事拿自己这个5s就出现了这个问题,但是奇葩的是,有一个界面跟这个是公用的,但是那边却能弹出键盘。同事看了许久同时也检查了代码,木有发现问题,于是叫我看一下,我同样的去检查了下代码,答案是一样的。在此之前键盘是可以弹出出来的,后来测试妹子说很难点着,同事就稍微将那个_inputTextF的高度改了下。但是千想万想没有想到是这里的错,另一个界面的公用的却能弹,最后还是使用
Beyond Compare
对比工具才试出来的。对于这个奇葩的bug,得好好记住,省的下次再犯。
四.关于使用SDWebImagView中其中又有gif的图的处理方式
五.cookie莫名为空了
此次两台测试机在蒲公英拉下来的包都没有数据,在此之前打的包都是有数据的,于是在看我们的自己的手机是有数据的,所以说明不是后台挂了,于是乎就拿测试机跑到我们手机上,发现cookie为空,自己找了好久的问题,终究没有想明白为啥会空,之前都是好好的,怎么要到快上线的时候出现这么奇葩的问题,结果换了一个Wifi,神奇的事情出现了,数据有了。接着拿另一台手机换了个Wift也有了数据,但是这个神奇又奇葩的问题,我到现在还是一种懵逼的状态
七.键盘如果是手写键盘则会出现灰色一条大概高为40的框框
详情参考,类似这种效果。
经过:
出现的问题:
解决方式:
让子公司的同事去掉了那几行代码,重新打了个静态库过来就好了。
八.高度frame始终有问题,打印看高度又是正常的
由于游戏划账和兑换乐盈券是动态获取的,故我的界面的数据并不是死数据,高度也是随着后台的返回来判断是否显示。切换TabBar的时候,第一次高度不对,再切换一次就正常了。
如图:
一句代码搞定(用xib做的,故在awakeFromNib添加下面那行代码即可)
- (void)awakeFromNib{
[super awakeFromNib];
self.autoresizingMask = UIViewAutoresizingNone;
}
九.在iPhone5显示不正常,在iPhone6显示正常
解决方式:
-(void)setFrame:(CGRect)frame{
//空出我的页面中间的的菜单栏
frame.origin.y += 40;
frame.size.height += 1 * 40;
frame.origin.x = 0;
frame.size.width = LYScreen_Width;
[super setFrame:frame ];
}