찾다

 >  Q&A  >  본문

objective-c - 在 iOS 系统中,能否获取到当前显示的控制器?

在 iOS 系统中,不通过提前获取并存储数据的方案。能否获取到当前显示的控制器

需要处理的一些情况

问题说明,通过runtime替换-view***Appear:相关方法的实现,可以实现本需求。但是这种情况,需要开发者在某处保存当前显示的控制器。所以,该方案不满足需求。

统一回复:

self.navigationController.viewControllers.lastObject
这类方案只能在控制器中获取控制器所在navigationController的最后一个控制器,它和当前显示的控制器不恒等。
比如tab+nav架构中,当前显示的是第二tab,在第一个tab的nav的某个控制器中执行该方法,并不能获取当前显示的控制器

阿神阿神2772일 전658

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-18 09:31:14

    내비게이션 바가 있으면 self.navigationController.viewControllers.lastObject에 저장된 컨트롤러 스택을 통해 찾을 수 있는데 어떤 상황을 처리해야 하는지 잘 모르겠습니다...

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 09:31:14

    내비게이션을 통해 현재 사용 중인 컨트롤러를 찾아 그에 따라 뒤로 이동할 수 있습니다

    회신하다
    0
  • 취소회신하다