Ios 如何在swift中点击按钮创建新视图(或子视图)?

Ios 如何在swift中点击按钮创建新视图(或子视图)?,ios,swift,uiview,uiviewcontroller,addsubview,Ios,Swift,Uiview,Uiviewcontroller,Addsubview,我目前正在制作一个flashcard应用程序,我正在尝试制作一个按钮,创建一个全新的视图(或子视图)供用户编辑。我应该使用容器视图吗?收藏视图?我还想将这些设置为仅一个视图控制器,以便将“卡”保存在一个“集中”。请帮忙 编辑:如何将这些视图保存在“文件夹”中,以便用户以后查看。有没有一种有效的方法可以做到这一点,这样应用程序就不会变慢或停止 编辑#2:好吧,我有点明白了。。。集合视图。但是,由于我使用的是tvOS,我将如何在我的系统中实现这一点呢。有什么想法吗?如果您想以编程方式创建一个新的UI

我目前正在制作一个flashcard应用程序,我正在尝试制作一个按钮,创建一个全新的视图(或子视图)供用户编辑。我应该使用容器视图吗?收藏视图?我还想将这些设置为仅一个视图控制器,以便将“卡”保存在一个“集中”。请帮忙

编辑:如何将这些视图保存在“文件夹”中,以便用户以后查看。有没有一种有效的方法可以做到这一点,这样应用程序就不会变慢或停止


编辑#2:好吧,我有点明白了。。。集合视图。但是,由于我使用的是tvOS,我将如何在我的系统中实现这一点呢。有什么想法吗?

如果您想以编程方式创建一个新的
UIView
,它实际上非常简单。您可以创建如下方法:

func addNewView(to container: UIView) {

    let newView = UIView()
    container.addSubview(newView)
    newView.backgroundColor = UIColor.blue
    newView.frame = CGRect(x: 10, y: 50, width: 200, height: 250)

}
func buttonTapped(_ sender: UIButton) {

    addNewView(to: self.view)

}
这将在您传入的任何一个容器视图中创建一个新视图,背景为蓝色,距离左侧10点(x轴),距离顶部50点(y轴,想象一个y轴倒置的正常笛卡尔坐标系),宽度为200,高度为250

然后,您可以在按下按钮时调用此方法,方法如下:

func addNewView(to container: UIView) {

    let newView = UIView()
    container.addSubview(newView)
    newView.backgroundColor = UIColor.blue
    newView.frame = CGRect(x: 10, y: 50, width: 200, height: 250)

}
func buttonTapped(_ sender: UIButton) {

    addNewView(to: self.view)

}

很明显,我给你的所有帧值只是一个例子,你可以在脑海中看到它,你可以随心所欲地编辑它们,或者根据设备屏幕的大小进行计算。您可以通过说出“self.view.bounds

集合视图”来获得设备的屏幕大小,这可能是最简单的-您可以将每个单元格设置为屏幕大小。请记住,在每个单元格上添加5个左右的视图后,性能将成为一个问题。@brandonscript-很好。如果应用程序的工作方式允许您在完成后从屏幕上移除卡片,那么您可以通过这样做来提高性能。要从其superview中删除子视图,只需说出子视图的名称。removeFromSuperview()或使用集合视图@brandonscript,这样肯定会更有效。我只是不知道这是否适用于他的设置。当我想到闪存卡应用程序时,我一次想到一个视图。但是,当你说你可以制作一个屏幕大小的单元格时,你说的很好。这可能是最好的,所以我有点明白了。。。集合视图。但是,由于我使用的是tvOS,我将如何在我的系统中实现这一点呢。有什么想法吗?