iOS API-sizeThatFits:不工作

iOS API-sizeThatFits:不工作,ios,Ios,更新: 对不起,我之前描述得不够准确 我编写了如下代码: UIView *view = [[UIView alloc] initWithFrame:someFrame]; CGSize size = [view sizeThatFits:CGSizeMake(100, 100)]; 但是当我观察大小时,它什么也没有得到:{0,0} 我用错了吗 即使我将初始帧传递给我的视图,大小仍然没有返回任何结果 我搜索了一些帖子,有人说,UILabel可能也会受到影响。您的视图不包含任何内容,并且没有任何内

更新:

对不起,我之前描述得不够准确

我编写了如下代码:

UIView *view = [[UIView alloc] initWithFrame:someFrame];
CGSize size = [view sizeThatFits:CGSizeMake(100, 100)];
但是当我观察
大小时,它什么也没有得到:
{0,0}

我用错了吗

即使我将初始帧传递给我的视图,大小仍然没有返回任何结果


我搜索了一些帖子,有人说,
UILabel
可能也会受到影响。

您的视图不包含任何内容,并且没有任何内部内容大小,因此它的大小为零

试试这些,你会发现它是有效的:

UILabel *label [UILabel new];
label.text = @"test test test test";
CGSize size = [label sizeThatFits:CGSizeMake(20, CGFLOAT_MAX)];

正如@Konstantin所说:


您的视图不包含任何内容,也没有任何不自然的内容 内容大小

所以试着使用这个代码

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];
CGSize size = view.size;

检查
sizehattfits
的描述,它指出

要求视图计算并返回最适合视图的大小 指定的大小。适合接收器子视图的新尺寸


因此,您的视图应该有一些子视图或内容,否则它将返回
0,0

@xxxy2j实际上我正在阅读某人的源代码并发现一些错误,当我调试它时,我发现他的代码在这里有一些异常,正如我在帖子中所描述的。请检查。这是计算webview正确大小的最佳方法。