以编程方式快速添加不同数量的标签和滑块

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 的工作原理进行一些研究,完成后将我的答案标记为正确!

以上是关于以编程方式快速添加不同数量的标签和滑块的主要内容,如果未能解决你的问题,请参考以下文章

当我以编程方式制作滑块时,为啥滑块不更新标签?

以编程方式创建 UITableViewCells

如何添加滑块以在视图中向下移动? [关闭]

更改刻度线和滑块控件以显示较小的数字

如何以编程方式创建默认滑块值?

Sencha Touch 2 : JQuery 脚本标签