我正在使用Eureka进行settingsVC,而我无法从pushRow推送newVC。 请注意,我不使用故事板
我的设置相对简单,我的newVC是一个简单的UIViewController,带有一些uitextfields和标签。因为我不使用故事板,所以我似乎无法使用performSegues和$0.presentationMode = .segueName(segueName: "RowsExampleViewControllerSegue", onDismiss: nil)
我还审核了这个post,但这篇文章对我的申请来说相对较远。
我的实施到目前为止:
class AccountsViewController: FormViewController {
override func viewDidLoad() {
super.viewDidLoad()
form +++ Section("Profile")
<<< PushRow<String>() { row in
row.title = "Edit phone number"
row.value = "+61 12345678"
}.onCellSelection({ (cell, row) in
self.navigationController?.pushViewController(ChangePhoneNumberViewController(), animated: true)
})
上述方法将VC推了两次。
我想要采用pushRow的原因是因为我希望它采用pushRow美学外观,就像所附的图像一样。我也考虑过探索ButtonRow但UI / UX却不对。继续前进我还需要使用协议将新的“phoneNumber”带到AccountsViewController。
编辑:
答案 0 :(得分:0)
我认为你只需要设置这样的演示模式:
presentationMode = PresentationMode.show(
controllerProvider: ControllerProvider.callback(
{return ChangePhoneNumberViewController()}
), onDismiss: nil)
ControllerProvider.callback
允许您通过从闭包中返回一个VC来提供VC,而不是从nib文件或故事板中返回。