2014-05-20 45 views
0

我正在作爲幻燈片演示,其中一些CustomUIView顯示在UIScrollView中,它的效果很好。但我有一個自定義UIView來顯示每條新聞的內容。我的幻燈片工作的貨物,但我的自定義視圖的XIB文件只加載第一個和其他customview是空的。多實例UIView只在第一個實例中加載xib文件

這裏是我的代碼:

我ViewController.m

- (void)viewDidAppear:(BOOL)animated{ 
    [super viewDidAppear:YES]; 

    int nbrNews = _sharedDataManager.rssfeeds.count; 
    _sliderView.contentSize = CGSizeMake(self.view.frame.size.width*nbrNews, self.view.frame.size.height); 

    self.pageControl.currentPage = 0; 
    self.pageControl.numberOfPages = nbrNews; 

    for (int i = 0; i< nbrNews; i++) { 
     NewsView *newsView = [[NewsView alloc] initWithFrame:CGRectMake(i*self.view.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height)]; 


     NSDictionary *news = [_sharedDataManager.rssfeeds objectAtIndex:i]; 
     newsView.titleLabel.text = [news objectForKey:@"title"]; 

     [_sliderView addSubview:newsView]; 

    } 

} 

CustomView.h

#import <UIKit/UIKit.h> 

@interface NewsView : UIView 

@property (weak, nonatomic) IBOutlet UILabel *titleLabel; 


@end 

CustomView.m

#import "NewsView.h" 

@implementation NewsView 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     self = [[[NSBundle mainBundle] loadNibNamed:@"OneNewsView" owner:self options:nil] objectAtIndex:0]; 
    } 
    return self; 
} 

@end 

這裏的結果: 編輯:我改變了我的自定義視圖中的視圖的顏色。我們可以看到只有第一個是真正加載了xib文件。我不知道爲什麼!你可以幫我嗎?

enter image description here

enter image description here

+0

出於某種原因,你的幀計算和更具體的'x'座標總是'0',這使得你的'customView'被放置在彼此之上。 – Pancho

+0

感謝兄弟,我解決我的問題,加入: self.frame = frame; 到我的customView initWithFrame。 – Jeffrey

回答

0

我加入解決我的問題:

self.frame = frame; 

我customView.m initWithFrame

相關問題