在 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在其他 UIViewController 中显示 UIViewController?
如何在通用 UIViewController 之后设置自定义 UIViewController?