ios - xcode,故事板,动作顺序
问题描述
我继承了一个需要更改的 swift 项目:我需要在设置列表中添加一行,并与新的 ViewController 连接。
这是正确的操作顺序吗:
首先构建新的 ViewController(我可以从另一个 ViewController 复制粘贴吗?)
然后在“设置”列表中添加一个新行(我可以复制粘贴另一个 listItem 吗?)
然后从新的 listItem 添加一个 segue 到新的 ViewController (欢迎任何关于如何做的提示......)
或者
- 我可以复制粘贴一个 listItem 并且它还会复制它的 segue 和它的活动吗?
什么是正确的方法?
(我在 android 项目中做了同样的改变,改变 android.activity.xml 比使用 xcode.storyboard.userInterace 容易得多)
解决方案
我建议为新的 ViewController 使用单独的 .xib (IMO 会更容易和更难搞砸)
行动:
在设置中添加新行(使用它自己的操作)。没有任何代码很难说你是否可以复制以前的任何一个,但我认为你可以(如果它在故事板中,只需检查复制的出口并删除它们)
使用 .xib 文件创建新的 ViewController (File -> New -> File -> Cocoa Touch Class (subclass of:
UIViewController
,确保also create XIB file
选中)在item的action中(假设之前的ViewController嵌入在NavigationController中)
let myNewFancyViewController = FancyViewController()
show(myNewFancyViewController, sender: self)
- 修改新的视图控制器
编辑:由于您添加了情节提要的图像:
Settings
看起来像使用静态表格视图单元格,因此应该很容易复制其中一个并将其添加到需要的地方。复制 ViewController 也是可能的,只需确保删除所有出口(视图/操作)。最后一步是+ 从您创建的单元格option
中拖动并选择(如果您想在视图控制器之间传递数据,可以添加到 segue)show
identifier
注意:复制新视图控制器后似乎删除了所有现有的插座,所以这应该不是问题
推荐阅读
- node.js - req.body.[name] 未定义
- c - 使用结果偶向量进行高斯归约
- javascript - 便携式电子应用程序每次打开时都会提取到不同的文件夹中
- reactjs - 如何使用带有快照的酶来测试 reduxForm 组件?
- java - java.time.format.DateTimeParseException:无法在索引 2 处解析文本“13.05.2018”
- jquery - 在 jquery 中使用更多的 css 属性
- node.js - Node js 重用响应对象
- sqlite - Sqlite3 在其他日期重复值
- java - 错误:无法在 Maven 项目中找到或加载主类
- c# - 防止表单集合中的重复