在 UIViewController Storyboard 中访问 UIView

Posted

技术标签:

【中文标题】在 UIViewController Storyboard 中访问 UIView【英文标题】:access UIView In UIViewController Storyboard 【发布时间】:2017-05-25 10:52:48 【问题描述】:

我想问一下,Storyboard 中的哪些 View 附加到 UIViewController 是可访问的。谁将它们添加到 UIViewContoller 以使用 Objective C 以编程方式添加到其视图中。在 Storyboard 中显示如下:

并且与 UIViewController 节点在同一层次结构树中。

【问题讨论】:

没有得到你的确切要求! 我有一个控制器类,所以如何添加“子视图”。 [self.view addSubview:???] 是否足够为此 UIViews 创建一个类并像往常一样添加它,但这没有用,选择器未设置?但这是一个大应用程序,这是 ExenedView 类 是的,像这样添加子视图。参考:->***.com/questions/5501611/… 您可以将视图添加到另一个视图,例如[self.view addSubview:otherView]; 【参考方案1】:

您可以在相应的视图控制器类中获取该视图的出口,就像您在视图控制器的默认视图中获取视图的出口一样。

然后在您的viewDidload 中,您可以将该视图添加到您的默认视图!

例如你的出口是outterView 然后在viewDidload中,

  [self.view addSubview:self.outerView];

如果您在 viewDidload 中添加视图并且您需要视图的尺寸作为屏幕尺寸而不是 viewDidappear 中的第二件事,您可以这样做,

  self.outerView.frame = self.view.frame;

【讨论】:

【参考方案2】:

好吧,这是我的错,对不起。 我还需要一个 IBOutlet 到 ViewControllers 视图。因此,首先在 InterfaceBuilder 中连接它们,并为 View 提供 customClass。

参考网点 视图->UIViewContoller

HelloUIClass *viewThis = [[HelloUIClass alloc] init];

[self.view addSubview:viewThis]

...这是一个不确定的开始。

【讨论】:

【参考方案3】:

您只需在 Interface Builder 中正确操作! 拖放! @interface 下的 Headerfile 中的 Reference Outlet。 打开两个窗口。故事板和您的控制器类 .h 文件。 从文件检查器中的视图中获取一个 REFERENCING OUTLET 或鼠标右键单击并在源代码中画线。如果您正确完成了课程,它将挂在您的 @interface 行下。 AfterDroping 你给它起了一个名字“myViewInIB”,而不是你有这样的东西:

@interface UIMainView : UIViewController;
@property (weak, nonatomic) IBOutlet UICoustomView *myViewInIB; 

你可以在课堂上正常使用它(Obj C)

[self.view addSubview:self.myViewInIB]

【讨论】:

【参考方案4】:

你说你有那个视图的类,所以你可以这样做

假设你的类名是 View 那么, 1)在情节提要中给出要查看的类的名称“View1” 2)如果你想以编程方式给出大小,你需要创建类 3) 对于视图大小,您还可以使用约束而不是框架。


View1 *objView = [[View1 alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
viewObj.center = self.view.center;
viewObj.backgroundColor = [UIColor redColor];//so you can find view easily
[self.view addSubview: objView];

【讨论】:

名字是什么意思?树本身的视图? 在我的例子中它的 View1 在你的例子中是 HelloUICLass

以上是关于在 UIViewController Storyboard 中访问 UIView的主要内容,如果未能解决你的问题,请参考以下文章

iOS 视图控制器未发布?

如何在其他 UIViewController 中显示 UIViewController?

如何在通用 UIViewController 之后设置自定义 UIViewController?

iOS:如何在弹出其子 UIViewController 后“刷新” UIViewController?

过滤 JSON 数据并打印

iPad 应用程序,如何在 uiviewcontroller 之上显示 uiviewcontroller