以编程方式在 main.storyboard 中与项目的其余部分一起制作视图

Posted

技术标签:

【中文标题】以编程方式在 main.storyboard 中与项目的其余部分一起制作视图【英文标题】:Programmatically made view with rest of project in main.storyboard 【发布时间】:2019-03-28 08:32:38 【问题描述】:

我有一个快速的问题要问你们,我还没有找到明确的答案。我有一个使用 main.storyboard 中设计的每个视图控制器制作的应用程序。最近我不得不更改我的表格视图视图控制器,以便使用 collectionView 接收数据,以实现更多功能。

但我以编程方式制作了这个视图。而且我已经完全按照我想要的方式制作了它。当我完成后,我不确定是否可以将它与我的 main.storyboard 制作的项目一起使用。至少我发现没有类似的问题给我确切的答案。

所以我想我应该问你们这是否可能,如果它是......如果它是一个复杂的过程。这是我的学士论文工作,所以我正在争分夺秒地工作。

如果有人知道,甚至可能有一些关于我如何做到这一点的提示,我将不胜感激!

【问题讨论】:

是的,这完全有可能,而且没有那么复杂,但是您想如何使用它?是否以模态方式呈现,是否嵌入另一个视图控制器等? 干杯,听起来很有希望。我有一个主视图控制器,其中一些按钮通向不同的视图控制器。我收到的DataViewController 就是其中之一。这是我在表格视图中呈现从 arduino 发送的数据的地方。由于我无法使用 tableview 进行水平滑动等。我改用 UIcollectionView。所以是的,它将嵌入到主视图控制器的导航控制器中。从主视图模态呈现 【参考方案1】:

如果您的viewController 正确符合所有必要的方法;你应该能够在你的故事板中创建一个 viewController;像其他任何 uiObject 一样连接它;然后将属性检查器中的custom class 设置为ViewController 的类。

如果view 而不是viewController;你做类似的事情,将符合的类型拖到你的故事板和子类中。

如果您想在情节提要上看到您的视图渲染;在类声明之前让对象声明@IBDesignable

@IBDesignable
class myView: UIView 

【讨论】:

【参考方案2】:

只需从代码中展示程序创建的视图控制器:

let view = YourViewController()
self.present(view, completionHandler: nil)

希望这会有所帮助!

【讨论】:

以上是关于以编程方式在 main.storyboard 中与项目的其余部分一起制作视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 以编程方式创建今日小部件扩展

如何从情节提要以编程方式加载 UIViewController?

当我以编程方式从情节提要加载窗口时,为啥在 NSView 中未调用 drawRect?

无法使用 Xcode 8 和 Swift 3 在 SpriteKit 中以编程方式触发 segue

Interface Builder 无法确定“Main_iPad.storyboard”的类型

Flutter 如何以编程方式退出应用程序