2014-09-12 59 views
0

我正試圖在集合視圖中顯示Twitter源。我能夠在普通的表格佈局中顯示twitter feed,但是當我嘗試在集合視圖中顯示它時,我的視圖控制器中沒有顯示任何內容。我拖着一個視圖到我的視圖控制器和視圖收集到我的view.Here是我的故事板視圖:無法在我的視圖控制器中看到集合視圖

viewcontroller->View-> View1 ->CollectionView -> CollectionViewCell-> Label,ImageView 

在這裏,我有我的視圖控制器兩種觀點。一個是我的列表視圖,另一個是收集視圖。 我不確定我在這裏錯過了什麼。你能幫我解決這個問題嗎?

在此先感謝。 這裏是我的文件:

TweetCell.h

#import <UIKit/UIKit.h> 

@interface TweetCell : UICollectionViewCell 

@property (weak, nonatomic) IBOutlet UIImageView *imageTweet; 
@property (weak, nonatomic) IBOutlet UILabel *textTweet; 

@end 

TweetCell.m

#import "TweetCell.h" 

    @implementation TweetCell 

    @synthesize textTweet,imageTweet; 

    - (id)initWithFrame:(CGRect)frame 
{ 
self = [super initWithFrame:frame]; 
if (self) { 

    // Initialization code 
    NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"CellID" owner:self options:nil]; 

    if ([arrayOfViews count] < 1) { 
     return nil; 
    } 

    if (![[arrayOfViews objectAtIndex:0] isKindOfClass:[UICollectionViewCell class]]) { 
     return nil; 
    } 

    self = [arrayOfViews objectAtIndex:0]; 

} 
return self; 

} 
@end 

ViewController.h

#import <UIKit/UIKit.h> 
    @interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>{ 
IBOutlet UICollectionView *collectionViewTwitter; 

} 
@end 

ViewController.m

#import "ViewController.h" 
#import "STTwitter.h" 
#import "TweetCell.h" 

@interface ViewController() 

@property (strong, nonatomic) NSMutableArray *twitterFeedList; 

@end 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    /* uncomment this block to use subclassed cells */ 
    [self->collectionViewTwitter registerClass:[TweetCell class] forCellWithReuseIdentifier:@"cvCell"]; 
    /* end of subclass-based cells block */ 

    // Configure layout 
    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
    [flowLayout setItemSize:CGSizeMake(200, 200)]; 
    [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 
    [self->collectionViewTwitter setCollectionViewLayout:flowLayout]; 

    STTwitterAPI *twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:@"xz9ew8UZ6rz8TW3QBSDYg" 
                  consumerSecret:@"rm8grg0aIPCUnTpgC5H1NMt4uWYUVXKPqH8brIqD4o"]; 

    [twitter verifyCredentialsWithSuccessBlock:^(NSString *bearerToken) { 

     [twitter getUserTimelineWithScreenName:@"MYTwitterUserName" 
            successBlock:^(NSArray *statuses) { 

             self.twitterFeedList = [NSMutableArray arrayWithArray:statuses]; 

             [self->collectionViewTwitter reloadData]; 

            } errorBlock:^(NSError *error) { 

             NSLog(@"%@", error.debugDescription); 

            }]; 

    } errorBlock:^(NSError *error) { 

     NSLog(@"%@", error.debugDescription); 

    }]; 

} 

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
    return 1; 
} 

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 

    return self.twitterFeedList.count; 

} 

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 

      static NSString *cellID = @"CellID" ; 

      NSInteger idx = indexPath.row; 
      NSDictionary *t = self.twitterFeedList[idx]; 



    /* Uncomment this block to use subclass-based cells */ 
    TweetCell *cell = (TweetCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath]; 
    cell.textTweet.adjustsFontSizeToFitWidth=YES; 
    cell.textTweet.numberOfLines=4; 
    cell.textTweet.text=t[@"text"]; 

    cell.imageTweet.image=[UIImage imageNamed:@"twitter.png"]; 

    /* end of subclass-based cells block */ 

    // Return the cell 
    return cell; 

} 
+0

你從廈門國際銀行文件到文件的所有者連接您的代理和datesource? – chetem 2014-09-12 15:10:35

+1

我使用故事板。如何在storyborad中做到這一點? – 2014-09-12 15:15:31

+0

點擊您的收藏視圖。然後在連接檢查,點擊並拖動從代理到文件的所有者和相同的數據源 – chetem 2014-09-12 15:16:47

回答

1

你需要確保你的收藏視圖的數據源和委託都迷上了文件的所有者。爲此,請點擊xib/storyboard文件中的收藏視圖。然後在右側的連接檢查器中,單擊並從數據源拖到文件的所有者。對代表做同樣的事情。這樣收集視圖就知道是誰要求實現收集視圖。或者,你可以做viewDidLoadself.collectionView.delegate = selfself.collectionView.datasource = selfviewWillAppear假設你有你的IBOutlet中從廈門國際銀行掛接/故事板文件

相關問題