【问题标题】:UITableViewController UI issues in swiftswift中的UITableViewController UI问题
【发布时间】:2014-08-10 17:14:41
【问题描述】:

我正在使用 Parse 为我的应用设置登录系统。当用户登录时,他们会被带到一个 TableViewController 中,其中有不同的选项可供选择。出于某种原因,TableView 一直通过状态栏出现,看起来不太好。另外,在我的代码中设置了 TableView 的标题,但该标题没有显示出来。下面是 TableViewController 的属性。

这里是状​​态栏,应该是标题。

我该如何解决这个问题?

【问题讨论】:

    标签: ios uitableview swift


    【解决方案1】:

    听起来您希望在视图顶部有一个 UINavigationBar。这很容易做到!

    无论您在哪里/显示您的 TableViewController(也许现在看起来像这样)

    MYTableViewController *vc = [[MYTableViewController alloc] initWithNibName:nil bundle:nil];
    [self presentViewController:vc];
    

    改为执行以下操作:(在此处编造一个类名)

    MYTableViewController *vc = [[MYTableViewController alloc] initWithNibName:nil bundle:nil];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
    [self presentViewController:navController];
    

    或者,如果您使用故事板来展示您的 VC(看起来您至少在​​某些部分使用了故事板)

    只需拖动一个 Navigation Controller 对象并重新路由它带来的 ViewController

    哦,是的,'Title' 属性主要用于 UITabBarController 容器。当您使用导航控制器进行设置时,您将能够通过设置来设置它的标题

    self.navigationItem.title = @"Test"
    

    或在 Nib 中通过选择新出现的导航栏并更改标题属性;如果您使用 nib 方法,您会看到它。

    【讨论】:

      【解决方案2】:

      我认为你应该为 tableview 设置一些约束。

      为了清楚起见,我创建了一个只包含一个 viewController 的小项目,它有一个 tableview 作为它的子视图。之后,我通过以下步骤为 tableView 附加一些约束:

      1.选择storyboard中的tableview;
      2.点击菜单中的Editor->Pin
      3.选择“前导空间到超级视图”、“尾随空间到超级视图”、“顶部空间到超级视图”、“底部空间到超级视图”
      4.打开实用程序区域并选择“显示尺寸检查器”。编辑约束以确保“top space to superview”的值等于20(因为20points是状态栏的高度),而其他三个约束的值等于0。
      完成这些后,您将创建一个位于状态栏下方 20 点的 tableview。

      我认为发布一些图片会更好,但我是 stackflow 的新手,所以我没有足够的声誉来发布图片,很抱歉。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-23
        • 1970-01-01
        • 2014-11-23
        • 2019-12-07
        • 2015-05-27
        • 1970-01-01
        • 1970-01-01
        • 2018-04-19
        相关资源
        最近更新 更多