2012-11-25 2 views
1

의 최신 호에는 iOS Dev의 최신 호가 있습니다. UICollectionWaterfallLayout에 대한 흥미로운 기사가 ​​있습니다. https://github.com/chiahsien/UICollectionViewWaterfallLayout 샘플 앱을 사용하려면 2 단계를 수행해야합니다. 그러나 Objective-C 및 iOS 개발의 초보자이기 때문에이 단계에서 어려움을 겪습니다. 특히UICollectionViewWaterfallLayout - 속성을 설정하고 위임하는 방법

:

1 단계 :이 설정을 그 중 3 곳이 1 위임을 무엇을 의미합니까? 나는 속성과 델리게이트가 어떤 것인지 알고 있지만 똑같이 무엇을 해야할지 모르겠습니다.

2 단계 : 내 대리인에서이 메서드를 어떻게 구현할 수 있습니까?

명백한 질문에 사과드립니다. Big Nerd Ranch 책에서 공부하고 있지만이 플랫폼에 문제가 있습니다.

미리 감사드립니다.

답변

1

이것은 "레이아웃"일뿐입니다. 즉, viewController와 collectionView를 혼자서 제공해야하고, 다음 세 가지를 마무리하십시오. 나는 REPO에 일부 샘플 코드를 추가 할 것입니다, 당신의 WaterfallViewController.h

#import "UICollectionViewWaterfallLayout.h" 
@interface WaterfallViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegate, UICollecitonViewDelegateWaterfallLayout> 
@property (nonatomic, strong) UICollectionView *collectionView; 
@end 

에서 그리고 당신의 WaterfallViewController.m의 불편에 대한

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UICollectionViewWaterfallLayout *layout = [[UICollectionViewWaterfallLayout alloc] init]; 
    layout.delegate = self; 
    layout.columnCount = 2; 
    layout.itemWidth = 146; 
    layout.sectionInset = UIEdgeInsetsMake(9, 9, 9, 9); 

    _collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout]; 
    _collectionView.dataSource = self; 
    _collectionView.delegate = self; 
    _collectionView.showsVerticalScrollIndicator = NO; 
    _collectionView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 
    [_collectionView registerClass:[MyCell class] forCellWithReuseIdentifier:@"MyCell"]; 

    [self.view addSubview:self.collectionView]; 
} 

#pragma mark - UICollecitonViewDelegateWaterfallLayout Delegate 
- (CGFloat)collectionView:(UICollectionView *)collectionView 
        layout:(UICollectionViewWaterfallLayout *)collectionViewLayout 
heightForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // return the height for cell at indexPath. 
} 

죄송합니다 : 여기

은 예입니다 곧.

+0

Nelson- 컨트롤에 헤더를 추가 할 수있는 방법이 있습니까? –

관련 문제