PickerView常用方法总结
- DataSource
@required
// 返回多少列
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
//返回多少行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
-Delegate
@optional
// 返回每一列的宽度
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
//返回列中每一行的高度
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
UICollectionVIew的一些方法
- 选中头部标题还是尾部标题方法
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
UICollectionReusableView *reusableview = nil;
if (kind == UICollectionElementKindSectionHeader) {
UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"exercisePhotoHeader" forIndexPath:indexPath];
reusableview = headerView;
}
return reusableview;
- 创建cell方法(注意设置背景视图)
- (UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"exercisePhotoCell" forIndexPath:indexPath];
UIView *bv = [[UIView alloc] init];
bv.backgroundColor = [UIColor lightGrayColor];
cell.backgroundView = bv;
UIView *sbv = [[UIView alloc] init];
sbv.backgroundColor = [UIColor orangeColor];
cell.selectedBackgroundView = sbv;
StartFragment EndFragment
return cell;
}
-UICollectionView的代理方法
// 用户更改选择状态后调用以下方法
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
//通常在选中某Cell进入详情页的情况下,第一件要做的事就是在进入到详情页前将该Cell的状态恢复到未选中,这样做可以保证从详情页回到列表页后,列表页并无已选中条目
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
//进行相关操作
}
//取消选中时要做的事情
- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath;
//Cell与Reusable View即将出现时调用以下方法
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath ;
- (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollectionReusableView *)view forElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath;
- UICollectionViewDelegateFlowLayout
//定义每个Cell的尺寸
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
//定义最小行间距(恰恰就是行间距)
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section;
//定义Cell之间横向最小间距(大部分情况不是cell之间的间距)
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;