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正确大小的最佳方法。