以编程方式快速添加不同数量的标签和滑块
Posted
技术标签:
【中文标题】以编程方式快速添加不同数量的标签和滑块【英文标题】:Adding varying numbers of labels and sliders programmatically in swift 【发布时间】:2017-09-16 07:50:48 【问题描述】:在 swift 和 Xcode 中,我希望能够制作一个应用程序,用户可以在其中输入他们拥有的主题,然后进入下一页,在那里他们会看到一个页面,在那里他们可以选择他们对每个主题的喜欢程度主题百分比,使用标签和滑块。
我不确定如何添加不同数量的标签和滑块,具体取决于它们添加的主题数量。
例如如果用户在下一页输入数学、英语和科学,我需要以编程方式添加 exactly 3 个标签和恰好 3 个滑块。
如果有人能告诉我如何解决这个问题,我将不胜感激:)
【问题讨论】:
【参考方案1】:在用户“选择”主题的第一页中,将这些主题添加到数组对象中。然后数组对象会有一个计数。
在第二页上,通过数组内的“主题”对象数组。然后在第二页添加一个 UITableView。制作一个包含 UILabel 和 UISlider 的原型 UITableViewCell。然后在 UITableViewDelegate 和 Datasource 上,将 numRowsForSection 设置为数组的计数,表格将绘制那么多单元格。然后使用 cellForRowAtIndexPath 将数组中的主题数据传递到单元格并从那里继续。
如果您不熟悉 UITableView 及其委托/数据源,请先查看它们!
【讨论】:
感谢您的快速回复 :) - 我会试一试 通过数组中的“主题”对象数组是什么意思? 我会创建一个 Subject 类,其属性包括 'title' 'percentageLikeFactor' .. 等。然后在第一个 UIViewController 中创建一个数组,即:var arrSubjects = [Subject]()
.. 然后当你创建新的 Subject 对象时,将它们推送到 arrSubjects 以填充数组。当您将新视图控制器推送到导航堆栈或显示它时,请务必添加一些接受数组的“配置”函数,即func configure(arrSubjects: [Subject]) ... set the arr to a variable in the new page and set it in the table datasource.. then reloadData() on the tableview
我还是很困惑。请问可以附上一些代码吗?
Class Subject var title: String?; var percentLiked: Double? func init(title: String)self.title = title
在 Subject.swift 文件中。然后在第一个控制器中,您可以创建主题。 var subject = Subject("Maths"); arrSubject.append(subject);
.. 在如上所示的函数中将 arr 传递给第二个控制器。然后对 UITableViews 的工作原理进行一些研究,完成后将我的答案标记为正确!以上是关于以编程方式快速添加不同数量的标签和滑块的主要内容,如果未能解决你的问题,请参考以下文章