1,在一個控制里面展示兩種view,尤其是Tableview和collectionview 之間的切換非常的常見,前段時間項目中就有這么一個需求,剛開始就是簡單問題復雜化了,利用一個同一個CollectionviewController的FlowLayout ,然后切換的時候改變他的大小,這種方法可以實現,但是對于我這種水平的還略欠火候,于是搞了一般就放棄了,選擇了最簡單是的方式,就是兩個view
2,接下來說一下我的答題實現過程,其實很簡單。就是在一個VIewController上創建了Tableview和Collectionview然后控制他們的顯示或者隱藏。或者用ReMovesuperView的方法都可以實現
3,首先分別初始化。然后他們有共同的方法,可以寫在一起,比如點擊方法
-(void)cellDidSelectRow:(NSInteger)index ?只用把Indexpath傳進去就好了
4,//切換按鈕
-(void)menuAction:(UIButton*)btn{
if ([btn.currentImage isEqual:[UIImage imageNamed:@"列表"]]) {
[btn setImage:[UIImage imageNamed:@"九宮格"] forState:UIControlStateNormal];
NSLog(@"列表");
self.collectionview.hidden=YES;
self.tableview.hidden=NO;}
else {
[btn setImage:[UIImage imageNamed:@"列表"] forState:UIControlStateNormal];
NSLog(@"九宮格");
self.collectionview.hidden=NO;
self.tableview.hidden=YES;
}
或許這種方法很笨但是,我感覺實現起來比較簡單,思路比較清晰。對于經驗不足的我們可以使用