编程分页导航斯威夫特/ 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)

+0

太感谢很多@Shades。这回答了我的很多问题。还没有看到后退按钮,但是当我编写所​​有这些代码时,它可能会自动弹出。 – Trip

+1

将您的tablewViewController嵌入到navigationController中并观看魔术 – Shades