0

UAModalPanelを使用してポップオーバーコントローラーエフェクトを作成しています。ポッパーボックスを表示することはできますが、ビューを(グラフィックで、ストーリーボードで)作成し、そのビューをコードでインスタンス化して、UAModalPanelに追加する方法を理解するのに苦労しています。

私が試したこと

  • ストーリーボードでUIViewControllerを作成し、そのクラスをカスタムクラスに設定し、そのクラスをコードでインスタンス化し、そのビューを取得して、現在の「シーン」に追加しようとしました。

それでおしまい。確かに、ストーリーボードでビューを作成する方法があります。それを使用する必要があるコードで取得できるUIViewのサブクラスを作成しますか?コードでレイアウトする代わりに?

4

2 に答える 2

2

ストーリーボードでは、新しいものをドラッグアンドドロップしてUIViewControllerから、ここに識別子を付けます。

ここに画像の説明を入力してください

次に、コードで、このViewControllerのviewプロパティを次のように取得できます。

UIViewController *myController = [self.storyboard instantiateViewControllerWithIdentifier:@"myIDfromTheLastStep"];

これで、conrollers viewプロパティを取得し、調整を行うことができます。フレーム変更の例を次に示します

[myController.view setFrame:CGRectMake(0, 0, 320, 320)];
于 2012-09-04T15:33:59.437 に答える
1

セグエが必要でない限り、スタンドアロンXIBを作成する方がよい場合があります

必要に応じてビューをレイアウトし、そのクラスを独自のクラス(MyCustomView)に設定してから、次のようにインスタンス化します。

 NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
 MyCustomView *view = (MyCustomView*)[nib objectAtIndex:0];

ビューがXIBの最初の/唯一のオブジェクトである限り、これによりビューがインスタンス化されます

于 2012-09-04T15:39:53.523 に答える