一.關(guān)于選中不選中問題的處理方式
需求:默認(rèn)選擇第一個陌宿,其次單機(jī)那個選擇那個
1.首先在Model層使用BOOL聲明一個變量是來記錄是否選中
//標(biāo)記是否是被選中
@property (nonatomic, assign) BOOL selectedFlag;
2.在獲取數(shù)據(jù)之后默認(rèn)選擇第一個
[[self.giftBagDataArr firstObject] setSelectedFlag:YES]; //默認(rèn)選中第一個
3.在didSelectItemAtIndexPath
方法中遍歷數(shù)據(jù)
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;
}
//單元格是選中狀態(tài)
- (void)selectedCell{
self.background.layer.shadowColor = kColorMainRed.CGColor;
self.background.layer.shadowPath = self.path.CGPath;
self.background.layer.shadowOpacity = 1;
}
//單元格不是選中狀態(tài)
- (void)unselectedCell{
self.background.layer.shadowOpacity = 0;
}
- (void)initUI{
self.background = [[UIView alloc]init];
[self addSubview:self.background];
...//初始化其他UI控件
}
二.關(guān)于collection選中與選中問題,其中最后一個是輸入框
需求:默認(rèn)選擇第一個波丰,其次單機(jī)那個選擇那個壳坪,重點(diǎn)在于最后輸入框的選中
可能出現(xiàn)的問題:
- 按照上面的方法做,填葫蘆畫瓢的方式掰烟。只有點(diǎn)擊最后一個cell才會選擇爽蝴,但是不會彈出鍵盤
- 當(dāng)點(diǎn)擊最后一個輸入框,可能最后一個不被選擇纫骑,但是可以彈出鍵盤
三.關(guān)于一個奇葩鍵盤彈起中的一個奇葩問題
起因:來自于禪道上提出bug
經(jīng)過:首先對于這個bug蝎亚,我拿自己手機(jī)6s測的時候沒沒有出現(xiàn)類似問題,然后同事拿自己這個5s就出現(xiàn)了這個問題先馆,但是奇葩的是发框,有一個界面跟這個是公用的,但是那邊卻能彈出鍵盤煤墙。同事看了許久同時也檢查了代碼梅惯,木有發(fā)現(xiàn)問題,于是叫我看一下仿野,我同樣的去檢查了下代碼铣减,答案是一樣的。在此之前鍵盤是可以彈出出來的脚作,后來測試妹子說很難點(diǎn)著葫哗,同事就稍微將那個_inputTextF的高度改了下。但是千想萬想沒有想到是這里的錯球涛,另一個界面的公用的卻能彈魄梯,最后還是使用
Beyond Compare
對比工具才試出來的。對于這個奇葩的bug宾符,得好好記住酿秸,省的下次再犯。
四.關(guān)于使用SDWebImagView中其中又有g(shù)if的圖的處理方式
五.cookie莫名為空了
此次兩臺測試機(jī)在蒲公英拉下來的包都沒有數(shù)據(jù)魏烫,在此之前打的包都是有數(shù)據(jù)的辣苏,于是在看我們的自己的手機(jī)是有數(shù)據(jù)的肝箱,所以說明不是后臺掛了,于是乎就拿測試機(jī)跑到我們手機(jī)上稀蟋,發(fā)現(xiàn)cookie為空煌张,自己找了好久的問題,終究沒有想明白為啥會空退客,之前都是好好的骏融,怎么要到快上線的時候出現(xiàn)這么奇葩的問題,結(jié)果換了一個Wifi,神奇的事情出現(xiàn)了萌狂,數(shù)據(jù)有了档玻。接著拿另一臺手機(jī)換了個Wift也有了數(shù)據(jù),但是這個神奇又奇葩的問題茫藏,我到現(xiàn)在還是一種懵逼的狀態(tài)
七.鍵盤如果是手寫鍵盤則會出現(xiàn)灰色一條大概高為40的框框
詳情參考,類似這種效果误趴。
經(jīng)過:
出現(xiàn)的問題:
解決方式:
讓子公司的同事去掉了那幾行代碼,重新打了個靜態(tài)庫過來就好了务傲。
八.高度frame始終有問題凉当,打印看高度又是正常的
由于游戲劃賬和兌換樂盈券是動態(tài)獲取的,故我的界面的數(shù)據(jù)并不是死數(shù)據(jù)售葡,高度也是隨著后臺的返回來判斷是否顯示看杭。切換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 ];
}