编程分页导航斯威夫特/ UI生成器
我是一个资深的Ruby开发者,以及刚刚进入斯威夫特和iPhone的发展,但似乎无法使头或其中与回答我的问题开始尾巴。我提前道歉,如果我听起来非常新奇!编程分页导航斯威夫特/ UI生成器
我的目标是把一组数据(在Ruby中,这将是一个哈希或JSON),并从它的形式x
意见。例如,该数据可能是:
my_page_info = {
{
title: "Page 1",
content: "Blah blah blah",
additional_info: "Some more blah"
},
{
title: "Page 2",
content: "Blah blah blah",
additional_info: "Some more blah"
},
{
title: "Page 3",
content: "Blah blah blah",
additional_info: "Some more blah"
}
}
边问。什么是写在斯威夫特那种信息的最佳方式?假设它不会在JSON ..
然后,我会假设,这将是适当的体系结构,只使用UI Builder中的一个视图,将代表此数组中的所有可用数据。其中my_page_info
将填充排列在我的UI视图控制器中的被定义为@IBOutlet
的3个不同标签,然后对这些值进行插值。
最后,我想要一个后退和前进按钮,这将允许我导航这些项目。我看着无处不在这样的系统图标,但它似乎不存在。至少不在UI Builder中。我想它只能以编程方式完成,然后我必须导入我自己的图像来表示这些按钮。
有人会知道我的问题的任何部分,或指导我在正确的方向吗?
谢谢!
从空速Velocity的回答我question,您会看到一个结构会去你的数据:
struct Page {
let title: String
let content: String
let additionalInfo: String
}
var myPageInfo = [
Page(title: "Page 1", content: "Blah blah blah", additionalInfo: "some more blah"),
Page(title: "Page 2", content: "Blah blah blah", additionalInfo: "some more blah"),
Page(title: "Page 3", content: "Blah blah blah", additionalInfo: "some more blah"),
]
注意去除变量名的下划线。
然后,我想你会想要一个tableview,在这里你在Interface Builder中为数据中的每个对应字段设置一个原型单元格。
编辑:你可能只是想在单元格中的标题,你会穿过赛格瑞的其他信息(见下文)这里的一切都奠定了很好的所有页面。
那么你的cellForRowAtIndexPath方法看起来像:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("pageCell", forIndexPath: indexPath) as! PageCell
cell.titleLabel.text = "myPageInfo[indexPath.row].title"
cell.contentLabel.text = "myPageInfo[indexPath.row].content"
cell.additionalInfoLabel.text = "myPageInfo[indexPath.row].additionalInfo"
return cell
}
在tableViewController你prepareForSegue方法会通过值选择您设置显示信息的视图控制器的数据。
我不知道你在找什么在最后一部分,但如果你使用一个navigationController,即可自动后退按钮(在你的情况会回到tableViewController)
太感谢很多@Shades。这回答了我的很多问题。还没有看到后退按钮,但是当我编写所有这些代码时,它可能会自动弹出。 – Trip
将您的tablewViewController嵌入到navigationController中并观看魔术 – Shades