猿问

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

在复杂的屏幕(视图控制器)中,我通常将整个事物分成较小的部分(我称它们为小部件)。这些小部件基本上由一个MyWidget.h和一个MyWidget.m文件以及一个MyWidget.xib文件组成,其中根元素是a UIView,而MyWidget类是UIView的文件所有者。在此小部件的初始化中,我做了一个loadNibNamed

然后在View Controller中执行一个[[MyWidget alloc] init],将其作为子视图添加到View的Controller主视图中。到目前为止,这是完美的。

我现在想知道如何对情节提要进行相同的操作,因为我无法真正开始将其拖到UIView某个地方,所以我总是必须从UIViewController不想开始。

如果无法使用情节提要板执行此操作,是否可以通过将情节提要板用于主屏幕和剧集,并使用单独的.xib文件来定义自定义视图,以旧的方式进行操作?


慕尼黑5688855
浏览 525回答 3
3回答

撒科打诨

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

莫回无

我认为您可以执行以下操作从Storyboard获取特定ViewController的实例,并在其顶部使用View。ex:MyViewController* myViewController = [[UIStoryboard storyboardWithName:@"Main"  bundle:nil] instantiateViewControllerWithIdentifier:@"myViewController"];UIView* view = myViewController.view; //Get the view from your StoryBoard.希望这可以帮助
随时随地看视频慕课网APP

相关分类

iOS
我要回答