點(diǎn)擊cell彈出pickerel的目前了解的方法有兩種
第一種:將自定義pickerView放鍵盤上彈出
第二種:將自定義pickView先隱藏在屏幕下方,需要時(shí)設(shè)置動(dòng)畫將其彈出
這樣說可能不太理解,主要說說第一種方法。介紹下inputView:顯示鍵盤的View,如果重寫這個(gè)View將不彈出鍵盤,彈出return的View。
第一種方法實(shí)現(xiàn)原理:自定義cell,將pickerView在cell中初始化,在cell.m中重寫- (UIView *)inputView{}方法,return pickerView,(下圖中View1為點(diǎn)擊cell像彈出的視圖,可自定義,按需求)

當(dāng)點(diǎn)擊cell調(diào)用tabelViewdelegate的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {}方法中,將所選的cell設(shè)置為第一響應(yīng)者就可以讓pickerView彈出

考慮到cell的重用問題,解決方法重寫cell中的- (void)prepareForReuse {}方法,在這個(gè)方法中將pickerView重新初始化,防止數(shù)據(jù)重復(fù),也以在這個(gè)方法里處理顯示數(shù)據(jù)。
優(yōu)點(diǎn):不用去管理pickerView的出現(xiàn)和隱藏
缺陷:inputView有一層灰色的背景色,不能去掉,將自定義的pickerView背景色清空可以看到。