2

我正在创建一个自定义 tableviewcell,所以我相信默认情况下 tableviewcell 宽度将与 tableview 本身一样宽,对吗?

所以在创建 tableview 之后,我做了:

NSLog(@"%f",self.view.frame.size.width);

...返回 476.00,当我实例化我的自定义 tableviewcell 时,它返回 320...

NSLog(@"%f", self.frame.size.width);

在创建单元格时或之后,我想要 476 的值...因为我将其用作指导来查看我应该有多少列...

那么,我怎样才能获得完整的单元格宽度?(顺便说一句,在我将背景打印为黄色之后,单元格确实占据了整行)

4

3 回答 3

1

检查这个:

-(void)layoutSubviews
{
    // Set the UITableView frame here:
    [super layoutSubviews];
}
于 2012-05-03T07:16:16.647 回答
0

我已经设置了一个 iPhone 应用程序以横向模式启动,并记录表格宽度和单元格宽度,我得到了你所看到的相同的东西(直到我滚动表格,然后它将值更改为正确的宽度值) . 除非您在自定义单元格中子类化 setFrame:,否则单元格宽度将与表格宽度相同,那么为什么不在计算中使用 self.view.frame.size.width (您的视图)?

于 2012-05-03T17:49:52.217 回答
0
guestTable =  [[UITableView alloc] initWithFrame:CGRectMake(0,74,320,340)      style:UITableViewStyleGrouped];

所以在 CGRectMake 中它定义了 UITableView。这是你的意思吗?它应该将单元格自动设置为 UITableView 宽度。

于 2012-05-03T02:49:26.530 回答