【问题标题】:Resizing UITableView (with controller) after being added as subview?添加为子视图后调整 UITableView(带控制器)的大小?
【发布时间】:2013-12-09 10:40:26
【问题描述】:

首先,我是 iOS 开发的新手,所以如果以下是在 iOS 上做事的错误方法,请告诉我!

我的目标是将 UITableView(带有控制器)嵌入到另一个 View(也带有控制器)中。

为此,我有:

在我的父控制器中,我添加了以下代码:

MeterInfoTableViewController* meterInfoTableController = [[MeterInfoTableViewController alloc] initWithNibName:@"MeterInfoTableViewController" bundle:nil];
[self addChildViewController:meterInfoTableController];
[self.container addSubview:meterInfoTableController.view];
[self.container setAutoresizesSubviews:YES];
[meterInfoTableController.view setAutoresizingMask:UIViewAutoresizingFlexibleHeight];

代码的工作原理是包含数据的 UITableView 包含在我的容器视图中,但是表太大(当你拉它时,你可以看到最后一行隐藏在父视图之外)。

如何正确调整 UITableView 的大小?

编辑:根据 Mr_bem 的回答,我添加了以下内容:

[meterInfoTableController.view setFrame:CGRectMake(0, 0, self.container.frame.size.width, self.container.frame.size.height)];

效果很好:)

【问题讨论】:

    标签: ios iphone objective-c uitableview autoresize


    【解决方案1】:

    你通过调用setFrame方法调整UITableView的大小,然后通过CGRectMake传递一个矩形

    如果您需要更多帮助,请告诉我 :)

    【讨论】:

    • 在设置autoresizingMask之前一定要设置meterInfoTableController.view.frame。
    • 感谢@rmaddy 的留言
    • @rmaddy:看来我什至不需要带有 setFrame 代码的 autoresizingMask。
    • 如果父视图的大小可以改变(例如旋转设备),您可以这样做。
    • 我明白了,如果我在纵向修复我的应用程序就不需要了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    相关资源
    最近更新 更多