我想创建一个像设置的界面 Setting 我想我需要使用uitableview。我想在 uiviewcontroller 中使用 uitableview 。但我不知道怎么做......
我试图在uiviewcontroller中添加一个分组的uitableview,但是当我运行应用程序时,uiviewcontroller中没有显示分组的uitableview,我想我还是要做到这一点。
我应该使用哪种类型的uitablview?分组?静电电池?
你能告诉我怎么做吗?谢谢。你有一些教程或开源学习吗?谢谢。
答案 0 :(得分:0)
对于"组"您可以使用正常的uitableview。你应该将你的tableview分成几部分(在代码中你有一个委托函数,返回部分的数量)
要在UIViewController中使用tableview,您应该从UITableViewDelegate和UITableViewDataSource类实现。然后在你的viewdidload中你可以放置你的tableview.datasource = self和tableview.delegate = self的名字,然后你可以使用UIViewController中tableview的委托函数。
快速google之后,我找到了一个可能对您有用的示例: LINK答案 1 :(得分:0)
您应该使用添加了部分的UITableView。有一个非常好的教程here。
<强>更新强>
首先,通过拖动到视图控制器上来创建UITableView。添加必要的约束,并生成原型单元格。
将单元格重用标识符设置为单元格。
然后,控制左键单击并将tableView拖动到ViewController(顶部的黄色圆圈)。这样做两次并将其指定为DataSource和Delegate。
打开助手编辑器并控制将tableView拖到类中以创建IBOutlet。然后将UITableViewDelegate
添加到您的类声明:
class ViewController: UIViewController, UITableViewDelegate {
完成此操作后,创建两个新的空白Swift文件。文件,新文件。
标题一个文件Section.swift和另一个SectionsData.swift。
在Section.swift文件中,添加此代码。
struct Section
{
var heading : String
var items : [String]
init(title: String, objects : [String]) {
heading = title
items = objects
}
}
在这里,您要定义一个结构,以便以后可以获得数据。
在SectionsData文件中输入以下代码。您可以在此处编辑表格中的内容。
class SectionsData {
func getSectionsFromData() -> [Section] {
var sectionsArray = [Section]()
let hello = Section(title: "Hello", objects: ["Create", "This", "To", "The"])
let world = Section(title: "World", objects: ["Extent", "Needed", "To", "Supply", "Your", "Data"])
let swift = Section(title: "Swift", objects: ["Swift", "Swift", "Swift", "Swift"])
sectionsArray.append(hello)
sectionsArray.append(world)
sectionsArray.append(swift)
return sectionsArray
}
}
在此文件中,您创建了一个类,然后创建了一个函数,以便保存和检索数据。
现在,在包含tableview的IBOutlet的文件中,创建跟随变量。
var sections: [Section] = SectionsData().getSectionsFromData()
现在已经完成了艰苦的工作,有时间来填充表格。以下功能允许这样做。
func numberOfSectionsInTableView(tableView: UITableView) -> Int
{
return sections.count
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return sections[section].items.count
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
{
return sections[section].heading
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel?.text = sections[indexPath.section].items[indexPath.row]
return cell
}
你应该能够运行它并获得你想要的结果。您可以在提供数据时编辑单元格外观。例如,
cell.textLabel?.font = UIFont(name: "Times New Roman", size: 30)
只需确保在更改字体时,字符串名称就是它的拼写方式。
我希望这会有所帮助。