无法使用动画推送视图控制器

时间:2018-07-07 18:20:35

标签: ios swift navigationcontroller

1)我没有使用任何故事板,在appDelegate文件中,我将窗口的rootViewController设置为tabBarController。

2)该tabBarController有5个子级,这些子级是以ViewControllers为根的navigationControllers。

2)每个孩子都是TableViewControllers,单击tableViewCell时,我需要推送到另一个ViewController

The problem is: https://postimg.cc/image/ocskkyye5/

我尝试通过单击其中一个单元格来推动viewController,但是屏幕冻结,并且当我从左向右滑动表单时,控制器是从右显示的

Solve it。这是因为我使用的是带有动画方法的导航栏的hide而不是导航栏的isHidden方法。

1 个答案:

答案 0 :(得分:0)

  

当我从左向右滑动表格时,控制器从   对

免责声明:我通常在可可粉中,所以这里不是所有人都可以工作。

tableView成为焦点,第一响应者也成为焦点,因此嵌入TableView的UIScrollView代替了您的滑动和滚动。如果您不需要垂直滚动,一种选择是通过修改视图层次结构或使用将所有scrollWheel事件通过管道传递到nextResponder的自定义scrollView类来删除滚动部分。您还可以实现自定义UIScrollView并将该自定义类设置为您的scrollView中使用的类。该类可能会将每个滚动事件分为垂直事件和水平事件,其中垂直事件转到var myactivecamera = viewer.scene.getActiveCamera(); myactivecamera.zoom += 0.1; ,水平事件转到super.scrollWheel(with:)。黑暗中的另一种方法是将scrollView内的视图设置为固定在scrollViews的前锚和尾锚上,这样它就不能更改大小,但不知道它是否仍在吃垂直滚动轮,所以可能行不通。

  

我尝试通过单击其中一个单元格来推动viewController,但是   屏幕冻结

冻结有很多原因。也许僵局,也许还有其他。您收到动作事件了吗?如果是这样,请尝试找到它在断点处冻结的地方并显示一些代码。或者您正在使用segues?没有足够的信息。