将可重用的自定义UIView添加到多个UIViewControllers

时间:2016-09-12 07:04:51

标签: ios objective-c

我使用其NIB创建了自定义UIView,我想在其中使用多个UIViewControllers中的弹出窗口。 如何通过SB或以编程方式将此自定义UIView添加到现有UIViewController

3 个答案:

答案 0 :(得分:3)

  • 为UIView创建一个XIB文件。

  • 根据要求为其添加标签,按钮。

  • 创建一个UIView类文件,例如MyView类:UIView。

  • 通过IBInspector将此类分配给UIView。

  • 现在创建此类的实例,为元素赋值。

答案 1 :(得分:1)

在身份检查员的show中查看 - 在那里添加uiview类。 2.Programatically - 将uiview类头文件添加到视图控制器类中。

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

答案 2 :(得分: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];
}