2012-11-25 39 views
1

有一篇關於UICollectionWaterfallLayout的有趣文章:https://github.com/chiahsien/UICollectionViewWaterfallLayout 正如您所看到的,爲了使示例應用程序正常工作,需要執行2個步驟。但是,因爲我是Objective-C和iOS開發中的新手,所以在這些步驟中遇到困難。UICollectionViewWaterfallLayout - 如何在iOS Dev Week的最新期刊中設置屬性並委託

特別是:

第1步:這是什麼意思設置這3個屬性和1個代表?我知道什麼屬性和代表,但同樣我不知道該怎麼做。

第2步:如何在我的委託中實現該方法?

對不起,很明顯的問題。我正在學習大書呆子牧場書,但我仍然遇到這個平臺的麻煩。

感謝所有提前。

回答

1

這只是一個「佈局」,這意味着你還需要自己提供一個viewController和一個collectionView,然後把這三件事情包起來!

下面是一個例子: 在你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-有沒有辦法給你的控件添加標題? –