我有一个 HomeController 和一个 registerController。HomeController 嵌入在导航控制器中,是根视图控制器。如果我在 HomeController 的 ViewWillAppear 中以模态方式呈现 registerController:
let reg = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "signup") as! RegisterController
reg.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
reg.modalTransitionStyle = UIModalTransitionStyle.flipHorizontal
reg.view.frame = self.view.frame
self.view.addSubview(reg.view)
Run Code Online (Sandbox Code Playgroud)
没有问题。但是如果我通过将其推送到导航控制器堆栈来呈现它:
let v = RegisterController()
self.navigationController?.pushViewController(v, animated: true)
Run Code Online (Sandbox Code Playgroud)
应用程序崩溃并表示注册按钮的 IBOutlet(位于 registerController 中)为零。我重新创建了插座并清理了项目并重新启动了 xcode,但没有任何效果...
我有一个带有 4 个 vc 的导航控制器:
navigationController
FirstController
SecondController
ThirdController
FourthController
Run Code Online (Sandbox Code Playgroud)
当我在的时候,FirstController我想打印出所有没有被压入堆栈的子 vcs 的列表。
我试过:
let allVCs = self.navigationController!.childViewControllers
print(allVCs.description)
Run Code Online (Sandbox Code Playgroud)
我也试过:
let allVCs = self.navigationController!.viewControllers
print(allVCs.description)
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都只得到ProjectName.FirstController. 我意识到我明白了,因为这是目前堆栈中唯一的一个。
即使它们尚未被推入堆栈,我如何找出其余的子 vcs?
//print statements I'm looking to get
ProjectName.FirstController
ProjectName.SecondController
ProjectName.ThirdController
ProjectName.FourthController
Run Code Online (Sandbox Code Playgroud) uiviewcontroller uinavigationcontroller ios childviewcontroller swift
使用UITableviewcell类来显示表格列表的单元格。我想使用“ navigationController?.pushViewController”从一个屏幕重定向到另一个屏幕,但它在表格单元格类中不支持。那么我如何UIViewcontroller使用pushViewController从表格单元格移动。
我的代码是:
class TableCell: UITableViewCell
{
let storyBoard : UIStoryboard = UIStoryboard(name: "SubMain", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "DetailReport") as! DetailReport
nextViewController.aryOfResultList = aryForCreateJSONResult
cell.inputViewController?.navigationController?.pushViewController(nextViewController, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。请给我解决我的问题
uitableview uinavigationcontroller pushviewcontroller ios swift
我使用下面的代码导致一个错误,即方法InstantiateInitialViewController没有重载采用'1'参数
EfficientBilling365ViewController abc=this.Storyboard.InstantiateInitialCiewController(EbViewController) as EfficientBillingViewController;
if(abc!=null)
{
this.NavigationController.PushViewController(abc,true);
}
Run Code Online (Sandbox Code Playgroud)
有谁能够帮我?