ios – NavigationController后退按钮直到加载视图后才出现
我有两个视图控制器,第一个嵌入在导航控制器中.第一个视图上的一个按钮将第二个按钮推到导航堆栈上.大.除了后退按钮仅在第二个视图完全完成动画到窗口时出现.除了该视图的标题立即显示之外,这没关系:
这会产生一种奇怪的差异,其中一个元素立即出现,另一个元素随后出现.有什么方法可以立即显示后退按钮吗?我正在使用自定义按钮btw: let backButton = UIBarButtonItem(title: "Cancel",style: UIBarButtonItemStyle.Plain,target: self,action: nil) navigationItem.backBarButtonItem = backButton 解决方法
在不知道更多细节的情况下,我不确定你所描述的行为背后的原因.但是,我会试着想一下如何设置这些过渡.由于您在故事板中工作,因此非常简单.
在故事板中,您将从导航控制器中嵌入的视图控制器和要转换到的第二个视图控制器开始.控制 – 从第一个VC按钮拖动到第二个VC场景,并选择“显示”动作segue,这将导致导航推送过渡 – 我认为这是您配置故事板的方式. 您可以直接在故事板中更改后退按钮标题.选择第一个VC场景,然后从左侧的文档轮廓中选择其导航项目对象.在右侧的属性检查器中,只需将“后退按钮”字段更改为当您按下第二个VC时按钮要说的内容.这将保留用户期望的后退箭头图标. 如果您想使用推送转换但是显示没有箭头的正常按钮,则可以隐藏第二个VC的viewDidLoad()中的后退按钮: navigationItem.hidesBackButton = true 然后,回到故事板中,将一个条形按钮项拖到第二个VC导航栏的左侧,并为其提供自定义标题等. 但是,您真正想要的设置是模态转换,这样做就像在故事板中将segue类型更改为“Present Modally”一样简单.这将在导航堆栈上方显示第二个VC,因此默认情况下不会显示导航栏.而不是从对象面板中拖出一个独立的导航栏(这会让你有些头疼,试图让它在状态栏下扩展),而是将第二个VC嵌入到自己的导航控制器中,这将隐式添加一个导航栏.然后,您可以将栏按钮项拖到栏的左侧并通过展开segue将其挂起,或者使用IBAction方法并调用presentsViewController?.dismissViewControllerAnimated(_:completion :). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |