[英]Multiple instance UIView only load xib file in the first instance
我正在做幻灯片演示,其中在UIScrollView
显示了一些CustomUIView
,并且效果很好。 但是我有一个自定义的UIView
来显示每个新闻的内容。 我的幻灯片可以工作,但是我的自定义视图的XIB文件仅在第一个视图加载,而其他customview是空的。
这是我的代码:
我的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文件。 而且我不知道为什么! 你能帮助我吗?
我通过添加解决我的问题:
self.frame = frame;
到我的customView.m initWithFrame
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.