2

私はどういうわけかiPhone開発に不慣れです。

ViewController を含むストーリーボードがあります。ViewController 内に UIScrollView があります。

scrollView に 2 つの画像とその他のコントロールを追加したいと考えています。私はこのリンクを読み、答えとして説明されているアイデアを実装することにしましたが、彼がプログラムで行った方法ではありません。

新しい.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];

.xib ファイルである私の UIView では機能しませんが、たとえば次のような 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 ファイルには、UIViewController ではなく UIView だけが含まれているように思えます。その場合は、次のようなことを行う必要があります。

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

それか、UIViewController を含むように .xib ファイルを変更する必要がありますが、それはあなたが求めているものとは思えません。

于 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 に答える