首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确定iPad上UITableView的大小

确定iPad上UITableView的大小
EN

Stack Overflow用户
提问于 2012-03-14 20:57:55
回答 2查看 1K关注 0票数 1

我得把桌子的宽度分成2,3,5,...相等的部分。其目的是用2,3,5,...填充表格单元格大小相等的正方形子视图。(图片)当然,桌子的高度取决于此。

这就是我如何确定表的大小,并将其除以要放置的图像的数量。方法numberOfPicsPerRow返回用户选择在表格的每一行中显示的图像数量的整数值。

代码语言:javascript
运行
复制
- (CGFloat) rowHeight{

    fcAppAppDelegate *delegate = (fcAppAppDelegate *);

    CGRect      bounds = self.tableView.bounds;
    //CGRect          bounds = self.view.bounds; // Alternative that returns the same result.
    float       tableWidth; 
    if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] delegate].tabBarController.interfaceOrientation))
        tableWidth = bounds.size.width;
    else
        tableWidth = bounds.size.height;

    NSLog (@"tableWidth: %f", tableWidth);
    return tableWidth / [MatrixPhotoListTVC noOfPicsPerRow];
}

这是我第一次设置表格的行高的地方:

代码语言:javascript
运行
复制
- (void)viewDidLoad
{
    [super viewDidLoad];

    self.tableView.rowHeight = [self rowHeight];

}

所有这些在iPhone上都工作正常。但是,在iPad上,tableView.bounds或view.bounds返回(width=320,heiht=372)。有趣的是,当设备旋转时,这些值是正确的。(width=768,height=960)

有人对此有什么解释吗?viewDidLoad不是确定表格大小的合适位置吗?

EN

Stack Overflow用户

发布于 2012-03-14 21:20:00

我会将您的代码切换到-viewWillAppear或-viewDidAppear方法,因为表视图已经完成了任何布局。

如果UITableView被子类化,另一种可能是对方法进行子类化:

代码语言:javascript
运行
复制
- (void)layoutSubviews {
    [super layoutSubviews];
    ....
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9702429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档