【问题标题】:ios: TableViewControl in TabViewControl the navigation bar overlaps table viewios: TabViewControl 中的TableViewControl 导航栏与表格视图重叠
【发布时间】:2014-10-26 03:12:25
【问题描述】:

根 View View 控制器是 Navigation 控制器,它的第一级是 TabViewController。其中一个选项卡项是 TableViewController。 这是关系:

但是导航栏与表格视图重叠:

我也设置了模拟指标,那可能是什么问题?

感谢您的帮助。

【问题讨论】:

    标签: ios uitableview cocoa-touch uikit


    【解决方案1】:

    模拟指标就是这样,模拟的。它们实际上并不适用于编译产品。

    要解决这个问题,我发现将edgesforextendedlayout 设置为edge values 的各种值是最简单的。通常除了顶部之外。

    【讨论】:

      【解决方案2】:

      rootViewController 应该是 UITabBarController。遵循此代码:

      1.在应用程序委托中将UITabBarController 设置为rootViewController,或者在您的main.storyboard 中将其设置为initial View Controller

      2.在UITabBarController.m 中放置此代码以创建UINavigationController,并在其中嵌入UIViewController

      //Inside UITabBarController.m
      
      - (void)viewDidLoad {
      
          [super viewDidLoad];
      
      
          UIViewController *vc = [[UIViewController alloc]init];
          UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:vc];
      
      
          self.viewControllers = @[navCon];
      
      }
      

      【讨论】:

      • 谢谢,但我想知道为什么我的导航与表格视图重叠?
      • @AndrewCarl 你检查你的autoresizingMask 属性了吗?
      • 我没有手动设置此属性,我应该将其设置为某个值吗?
      • @AndrewCarl 您的问题是您使用的是UITableViewController。将其更改为 UIViewController 并在其中放置 UITableView。然后将所有 UITableView 委托方法放在 UIViewController 类中。
      【解决方案3】:

      一开始就去掉导航控制器,而是将 tableviewcontroller 嵌入到导航控制器中。

      (选择视图控制器——点击“编辑器”>“嵌入”>“导航控制器”)。

      确保标签栏控制器也是根视图控制器

      这也将解决重叠问题

      【讨论】:

      • 这确实解决了问题,谢谢,但你能告诉我为什么之前的场景会导致重叠吗?
      • @AndrewCarl 由于我是初学者,我没有确切的解释,但我只是将其视为 Xcode 中的工作方式。老实说,我仍在学习绳索。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多