为了账号安全,请及时绑定邮箱和手机立即绑定

使用情节提要的自定义视图

使用情节提要的自定义视图

iOS
慕尼黑5688855 2019-12-07 16:29:56
在复杂的屏幕(视图控制器)中,我通常将整个事物分成较小的部分(我称它们为小部件)。这些小部件基本上由一个MyWidget.h和一个MyWidget.m文件以及一个MyWidget.xib文件组成,其中根元素是a UIView,而MyWidget类是UIView的文件所有者。在此小部件的初始化中,我做了一个loadNibNamed。然后在View Controller中执行一个[[MyWidget alloc] init],将其作为子视图添加到View的Controller主视图中。到目前为止,这是完美的。我现在想知道如何对情节提要进行相同的操作,因为我无法真正开始将其拖到UIView某个地方,所以我总是必须从UIViewController不想开始。如果无法使用情节提要板执行此操作,是否可以通过将情节提要板用于主屏幕和剧集,并使用单独的.xib文件来定义自定义视图,以旧的方式进行操作?
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

如果您只是想将视图控制器放在其他位置(而不是放在故事板中),那么有一种非常简单的方法可以完成此操作:


1)像往常一样用他们的个人s 创建您的CustomViewControllers(abcdController在我尝试的代码中)xib。


2)在故事板上添加一个UIViewController(或您的超类CustomViewController)。


3)将CustomClass设置为,CustomViewController而不是UIViewController如下所示:


4)最后,在您的viewDidLoad中加载自定义设置xib,您就完成了。


- (void)viewDidLoad

{

    [super viewDidLoad];

    [[NSBundle mainBundle] loadNibNamed:@"abcdController" owner:self options:nil];

    // Do any additional setup after loading the view from its nib.

}


查看完整回答
反对 回复 2019-12-07
?
莫回无

TA贡献1865条经验 获得超7个赞

我认为您可以执行以下操作从Storyboard获取特定ViewController的实例,并在其顶部使用View。


ex:

MyViewController* myViewController = [[UIStoryboard storyboardWithName:@"Main"  bundle:nil] instantiateViewControllerWithIdentifier:@"myViewController"];

UIView* view = myViewController.view; //Get the view from your StoryBoard.

希望这可以帮助


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信