2016-09-12 11 views
3

UIViewというカスタムをそのNIBで作成しました。その中で複数のUIViewControllersでポップアップとして使用したいです。 このカスタムをUIViewを既存のUIViewControllerに追加するには、SBで行うか、プログラムで行うのですか?再利用可能なカスタムUIViewを複数のUIViewControllersに追加

+0

あなたはUIViewクラスを作成しましたか? –

+0

@Shai私の解決策を試してください。それはあなたを助けるかもしれない –

答えて

3
  • UIViewのXIBファイルを作成します。

  • 要件に応じてラベル、ボタンを追加します。

  • UIViewクラスファイルを作成します。クラスMyView:UIView。

  • このクラスをIBInspector経由でUIViewに割り当てます。

  • このクラスのインスタンスを作成し、要素に値を割り当てます。

+0

答えが不完全かもしれない、私はこれがあなたを得た場所を教えてください? –

1

アイデンティティインスペクタでのショーでは、右を見 - そこにUIViewのクラスを追加します。 2.Programatically - ビューコントローラクラスにuiviewクラスのヘッダファイルを追加します。

SampleView *view = [[SampleView alloc]initWithFrame:CGRectMake(100, 20, [UIScreen mainScreen].bounds.size.width-200, 80)]; 
[self.view addSubview:view]; 
1

1つのUIViewControllerを作成し、カスタムUIViewをそのビューコントローラに配置します。 すでに作成されている他の人がこのメソッドをappdelgate.mに追加した場合は、静的ファイルにこの関数を追加します。 AppDelegate.h

@property(strong,nonatomic) BottomPlayerViewVC *nonSystemsController; 
-(void)addPlayerView:(UIView*)view; 

AppDelegate.m

-(void)addPlayerView:(UIView*)view 
{ 
    [self.nonSystemsController.view removeFromSuperview]; 
    self.nonSystemsController = [[BottomPlayerViewVC alloc] initWithNibName:@"BottomPlayerViewVC" bundle:nil]; 
    self.nonSystemsController.view.frame = 'set_your_frame'; 
    [view addSubview:self.nonSystemsController.view]; 
} 

ViewController1.m

#define AppObj (AppDelegate *)[[UIApplication sharedApplication] delegate] 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [AppObj addPlayerView:self.view]; 
} 
関連する問題