2

我在 iPhone 开发方面是个新手。

我有一个包含 ViewController 的故事板。在 ViewController 内部,我有一个 UIScrollView。

我想在我的滚动视图中添加两个图像和其他控件。我阅读了这个链接,并决定实施描述为答案的想法,但不是他以编程方式执行的方式。

我创建一个新.xib文件,然后向其中添加一个 UIView 并在其中添加我的 UIImages 和 Labels。

现在,我想将此 UIView 添加到情节提要中的 UIScrollView 中。这是我的代码:

OfferUIView *newPageView = [[OfferUIView alloc] init];
self.newPageView.contentMode = UIViewContentModeScaleAspectFill;
newPageView.frame = frame;
[self.scrollView addSubview:newPageView];
[self.pageViews replaceObjectAtIndex:page withObject:newPageView];

它不适用于我的 UIView 这是一个 .xib 文件,但如果我添加例如一个 UIImageView 像:

UIImageView *newPageView = [[UIImageView alloc] initWithImage:image];
self.newPageView.contentMode = UIViewContentModeScaleAspectFill;
newPageView.frame = frame;
[self.scrollView addSubview:newPageView];
[self.pageViews replaceObjectAtIndex:page withObject:newPageView];

然后它完美地工作。那么如何修复我的代码以添加 .xib 文件?

4

2 回答 2

2

卡洛斯给出的答案可能应该与 1 调整一起使用。在我看来,您的 .xib 文件可能只包含 UIView 而不是 UIViewController。如果是这种情况,您将需要做更多类似的事情:

NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"NameOfXIB" owner:self options:nil];
UIView *view = [views objectAtIndex:0];

要么,要么您需要更改 .xib 文件以包含 UIViewController,但这听起来不像您所追求的那样。

于 2012-09-24T23:11:51.227 回答
0

您可以尝试:

UIViewController *temporaryController = [[UIViewController alloc] 
                                          initWithNibName:@"NameOfXIB" 
                                                   bundle:nil];

进而:

[self.scrollView addSubview:[temporaryController view]];
于 2012-09-24T21:09:06.143 回答