UITableView标题差距和以编程方式调整大小

时间:2014-05-24 12:12:34

标签: ios objective-c interface-builder

我有两个与UITableViews相关的问题。

1)第一个是,UITableView顶部的差距是多少?我的应用程序始终从顶部单元格未与tableview顶部齐平开始(如第二个图像所示),它开始大约一个单元格,即接口构建器中的那个间隙。我无法找到它的来源或原因。

2)我似乎无法以编程方式调整uitableview的大小,我试图在弹出窗口后降低高度。我已经展示了一个不在第二张图片中工作的例子。

这是我现在正在尝试的一个例子:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.table_view.delegate = self;

    CGRect tableBounds = self.table_view.bounds;
    tableBounds.size.height -= 100;
    self.table_view.bounds = tableBounds;

    CGRect tableFrame = self.table_view.frame;
    tableBounds.size.height -= 100;
    self.table_view.frame = tableFrame;
}

谢谢!

选择UITableView:

Table View

模拟:

Simulation

2 个答案:

答案 0 :(得分:0)

在你的xib(或故事板)中将你的UITableView放在位置(0,0)。 (与导航栏相同的位置)。

答案 1 :(得分:0)

第一张图显示即使在Interface Builder中您的表视图也存在问题。看起来好像你错误地设置了顶部插图;检查你的边缘插图。

你的调整大小代码不起作用的原因可能是它太早(viewDidLoad);将其放入viewDidAppear:并查看是否有效,如果有效,请尝试将其移回viewWillAppear:,以免用户看到调整大小。如果它不起作用,可能是因为你正在使用自动布局;你无法手动改变其帧由自动布局决定的帧的帧。 (你的调整大小代码也很傻;你想设置框架,而不是边界。)但也可能是因为你在UINavigationController中使用UITableViewController;如果你这样做,表视图是在导航控制器的直接控制下,它的大小不适合你。