我正在根据本教程创建自定义标签栏:https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar
一切都很好但是当我想从某个视图控制器转到它的“详细信息视图”时,详细信息视图会在底部栏中显示菜单。这种行为是合乎逻辑的,因为我正在推动一个新的视图控制器,但为了保持底部栏始终可见并且功能正常,我将如何做呢?
我正在使用segue,因为我需要传递一些数据。我需要自定义栏,因为使用Apple的功能和外观很难实现。
任何提示或建议? 感谢
修改 这里所有“标签”都运行良好但是当你点击一行时我会导航到“详细信息”视图
在详细信息视图中,底部栏不可见。
答案 0 :(得分:0)
您是否尝试过设置hidesBottomBarWhenPushed = false
以获取详细信息视图?
答案 1 :(得分:0)
解决了它。而不是打电话
self.performSegueWithIdentifier("detailsViewSegue", sender: self)
in
tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
我将DetailsView视图添加到层次结构中,如下所示:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let detailsView = storyboard.instantiateViewControllerWithIdentifier("contactDetailsView")
addChildViewController(detailsView)
detailsView.view.frame = CGRectMake(self.view.frame.width, 0, self.view.frame.width, self.view.superview!.frame.height)
self.view.addSubview(detailsView.view)
UIView.animateWithDuration(0.25) {
detailsView.view.frame = CGRectMake(0, 0, self.view.frame.width, self.view.superview!.frame.height)
}
detailsView.didMoveToParentViewController(self)
然后当用户点击后箭头时,我会这样做:
@IBAction func goBackButtonAction(sender: UIButton) {
self.willMoveToParentViewController(self)
UIView.animateWithDuration(0.25, animations: {
self.view.frame = CGRectMake(self.view.frame.width, 0, self.view.frame.width, self.view.frame.height)
}) { (completed) in
if completed {
self.view.removeFromSuperview()
self.removeFromParentViewController()
}
}
}