搜索

首页  >  问答  >  正文

objective-c - iOS, 通过 UINavigationController push 出一个新页面, 但是页面被 push 之后是透明的

通过 UINavigationController push 出一个新页面, 但是页面被 push 之后是透明的, 没有显示任何 UI, 就导致当前 Controller 上面有一个透明的层, 点击当前页面就没有任何反应, 但是通过 Xcode 自带的Debug view Hierarchy可以看到新页面已经push, 但是手机上并没有显示

可能是我叙述的不够清楚, 不是没有设背景色, 页面是是有 UI 的, 平时都没问题, push 之后 UI 就显示了, 然后拉接口刷新页面, 偶尔会出现这种情况, 点击 push 之后代码执行了, 页面也 push 了, 但是手机上没有显示, 只能用Debug view Hierarchy才能看到

大家讲道理大家讲道理2772 天前684

全部回复(4)我来回复

  • ringa_lee

    ringa_lee2017-04-18 09:20:11

    已经找到问题, 是系统的 NavigationController 的缺陷, 在 NavigationController 的根页面往右滑两三下, 再执行 push 的时候就会出现这种问题, 已经重写 NavigationController 解决

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:11

    UIViewController默认颜色应该是clearColor
    需要设置一个 self.view.backgroundColor

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:20:11

    别纠结这种问题,实际开发你会去push一个透明的viewController?

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:20:11

    没有设置背景颜色, 默认是透明色

    回复
    0
  • 取消回复