1.交互能力
--點選
--編輯
----插入.刪除
----移動格子
--刷新數(shù)據(jù)
--將一組編輯或刷新東子合成一個動畫過程 -performBathUpdates:completion:
-滾動到某個格子
-動態(tài)更換布局
注意:與tabView 除了索引,表格有的集合視圖都有
2.Delegate里的交互響應(yīng)機(jī)會
2
3
4
這里在引用上個案例做一個點擊事件,點擊圖片后,進(jìn)入新viewcontroller放大你所點的圖片
打開上一章完成的內(nèi)容
1.打開storyboard 將navigation加載到 collection
2新建viewcontroller
并使collection manual鏈接到viewcontroller
2-1
2-2
設(shè)置segue
2-3
新建viewcontroller文件 為CityDetailViewController
并使storyboard的剛新建view 設(shè)置他的class
2-4
storyboard的CityDetailviewcontroller 插入image view 并約束
2-4
2-5
3再加入?yún)f(xié)議
在viewcontroller.h 里
@interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate>
在viewcontroller.m里
@implementation ViewController下添加
#pragma mark --- Delegate ---
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
[self performSegueWithIdentifier:@"showCity" sender:collectionView];
}
#pragma mark --- Navgation ---
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ( [segue.identifier isEqualToString:@"showCity"] ) {
// current item =>> destination viewcontroller
UICollectionView *cv = (UICollectionView*)sender;
NSArray < NSIndexPath*>* items = [cv indexPathsForSelectedItems];
CityDetailViewController *cityViewController = (CityDetailViewController *)segue.destinationViewController;
[cityViewController displayCityWithId:items[0].item];//這方法要到 CityDetailViewController里實現(xiàn)
}
}
在CityDetailViewController.h添加
-(void)displayCityWithId:(NSInteger)cityID;
然后在CityDetailViewController.m 添加
@interface CityDetailViewController (){
NSInteger _cityId;
}
在@implementation CityDetailViewController下
-(void)displayCityWithId:(NSInteger)cityID{
_cityId = cityID;
}
-(UIImage *)imageOfCity{
return [UIImage imageNamed:[NSString stringWithFormat:@"city%d",(int)_cityId]];
}
在- (void)viewDidLoad下
self.imageView.image = [self imageOfCity];