将viewDidLoad中的高度UITableViewCell调整为内容

时间:2013-07-05 18:42:20

标签: ios objective-c uitableview viewdidload

我有一个名为Facebook的UITableView内容有两个按钮,有时只需要显示一个按钮,但我有一个问题,因为有一个空的空间,这在我的应用程序中并不漂亮。 我希望调整此视图的大小,但没有任何反应,只隐藏了FacebookButtonLogin,但视图未调整大小。

-(void) viewDidLoad
{     
        self.FacebookButtonLogin.hidden = YES;
        CGRect newSize = self.Facebook.frame;
        newSize.origin.x = 0;
        newSize.origin.y = 0;
        newSize.size.width = self.cellFacebook.frame.size.width;
        newSize.size.height = UI_USER_INTERFACE_IDIOM() ? 48 : 48;
        //[[self Facebook]setFrame:newSize];
        self.Facebook.frame = newSize;
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

特定行的高度由您UITableViewDelegate的方法tableView:heightForRowAtIndexPath:控制。您无法手动更改单元格的大小,在布局其子视图时,TableView会将其调整为单元格大小(tableView宽度和行高)。

另一方面,这一点的重点是什么:

newSize.size.height = UI_USER_INTERFACE_IDIOM() ? 48 : 48;

它设置相同的值并将成语与0或iPhone或iPad进行比较(其中一个可能值为0,因此检查可能暂时有效,但使用常量更好)。