0

我有一个标签栏应用程序,第一个视图控制器在右上角有一个设置 UIButton。当您旋转到横向模式时,它不接受触摸事件。旋转到纵向就可以了。切换视图控制器,然后切换回来。在两个方向上一切正常。

有趣的是,在横向模式下也位于右侧的 UITableView 似乎只接受其特定部分的触摸事件。如果我将设置 UIButton 移到该部分之外,即使不切换视图控制器,它也会按预期工作。(我知道你在想什么,上面有东西。据我所知,我已经将所有视图和子视图更改为具有不同的背景,并且没有什么不合适或不符合预期。

我包括所有相关组件的设置...

TabBarViewController 属性

在此处输入图像描述

FirstViewController 属性

在此处输入图像描述

包含 Settings UIButton 是其子级的视图属性

在此处输入图像描述

包含设置 UIButton 是其子级的视图指标

在此处输入图像描述

设置 UIButton 属性

在此处输入图像描述

设置 UIButton 指标

在此处输入图像描述

设置 UIButton 连接

在此处输入图像描述

FirstViewController 中元素的 Z 顺序

在此处输入图像描述

我打开了一个新的 TabBar 项目并对其进行了测试,那里一切正常。似乎有东西在右侧,但似乎没有。

4

2 回答 2

1

将以下行添加到控制器的 viewDidLoad 方法中:

[self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];

另一件事是,要查找重叠视图,请使用模拟器调试菜单中的颜色混合图层选项。

于 2013-11-15T15:43:52.090 回答
1

问题是您的视图或视图控制器的“未设置框架”。您需要检查一下,当您更改方向时,您的视图/视图控制器的框架没有发生变化。SubViews 将根据它们的位置显示,但我很确定它们的 parentview 的框架不符合横向模式,这就是你的表也没有响应的原因。当方向改变时,尝试将其边界设置为视图的框架。

于 2013-11-10T05:20:40.700 回答