如何在Swift/Xcode中构建动态UI



我必须构建一个应用程序,根据从数据库中获得的信息显示UI元素。

我有一个带有自定义单元格的TabelView,它有一个标签,我有一些来自数据库的文本。这是有效的。现在,在每个单元格的数据库中,我存储了这些文本,并为其他UI元素创建了一列。例如,如果此列有1,那么我必须在标签下显示Button,如果此栏存储2,那么我就必须在标签下方显示DataPicker。3-开关,4-滑块,5等

将所有UI元素放在STACK VIEW中的原型单元格中,将高度设置为动态,并始终显示(hide=true/false)正确的UI元素,这是一个好的解决方案吗

但如果我有10-12个不同的UI元素,它可能会变得混乱和过长。那么,最好的解决方案是什么呢?

制作一个空视图,根据1、2或3等放置元素。方法将放置特定的按钮、选择器或其他东西。UI将更快,这样

将所有UI元素放在STACK VIEW中的原型单元格中,将高度设置为动态,并始终显示(hide=true/false)正确的UI元素,这是一个好的解决方案吗

不,这不是最好的方法,因为如果不使用每个单元的所有视图,也要渲染它们。您应该使用约束以编程方式添加这些子视图,这需要更多的工作,但如果您有许多视图,则会更好地提高性能。如果你正在对单元格进行排队,你必须把代码写得好,以避免坏的单元格回收。

请记住,UIStackView仅在iOS9 中可用

您可以设计动态滚动屏幕,根据内容调整大小和滚动

为此,您需要执行以下

  1. 将UITableView添加为父视图
  2. 在父级中添加容器视图
  3. 添加要在容器视图中显示的内容
  4. 使用viewDidLayoutSubviews方法中设计中的最后一个视图更新容器视图框架

有关详细实施,请查看以下视频

Swift/iOS-动态滚动UI屏幕设计

https://www.youtube.com/watch?v=vA2CVpwC8f0&t=21s

相关内容

  • 没有找到相关文章