在Storyboard中的一个UIViewController中添加两个UITableView时出现奇怪的行为

时间:2013-10-26 14:05:14

标签: ios iphone objective-c uitableview uiviewcontroller

当我在UIViewController上添加第二个表时,我遇到了一个有趣的问题。在第一个表(右侧)中,在界面构建器和应用程序中显示contentOffset。 enter image description here enter image description here

我也尝试使用帮助容器视图实现此功能。结果没有改变。知道为什么会这样吗?

  

UPD1:如果我在代码中这样做,一切正常。

     

UPD2:我正在使用Xcode 5.0.1

     

UPD3:重现的步骤:    1.添加UINavigationController,删除UITableViewController。    2.添加UIViewController    3.向UIViewController添加两个UITableView    4.为第一个UITableView {0,65,160,504}设置帧,为第二个{160,65,160,504}    5.如果您将UITableViewCell添加到左表,您将看到奇怪的偏移。如果您运行应用程序,则可以触摸它。

2 个答案:

答案 0 :(得分:0)

您使用的是Xcode 5吗?它可能只是故事板的错误。我只是建议从代码中添加UITableView。 Apple应尽快解决Xcode的任何漏洞,但现在只需从代码中添加它。

答案 1 :(得分:0)

确定!我找到了问题的根源。如果在UINavigationController中将topBar设置为半透明导航栏(默认情况下),那么对于将添加到UIViewController的第一个UITableView,它将自动在UIEdgeInsetsMake(64,0,0,0)中设置contentInset,但仅在第一个中设置。其他人都将拥有默认的contentInset。由于该问题的最佳解决方案建议在故事板中将第二个表设置为相同的contentInset。