gpt4 book ai didi

iphone - CGRectZero 和 sizeToFit

转载 作者:行者123 更新时间:2023-12-03 21:06:41 26 4
gpt4 key购买 nike

我有时会看到类似这样的代码:

NSArray *segmentedControl = [NSArray arrayWithObjects:@"First", @"Second", @"Third", nil];
UISegmentedControl *ctrl = [[UISegmentedControl alloc] initWithItems:segmentedControl];
ctrl.segmentedControlStyle = UISegmentedControlStyleBar;
ctrl.selectedSegmentIndex = 0;
ctrl.frame = CGRectZero;
[ctrl sizeToFit];
self.navigationItem.titleView = ctrl;
[ctrl release];

对于CGRectZero和sizeToFit,为什么要这样做?您是否希望对象位于 0, 0 原点,然后通过将框架宽度和高度设置为 0,但调用 sizeToFit,它会填充 View ?查看 UIView 文档,我不太确定“调整大小并移动接收器 View ,使其仅包含其 subview ”是什么意思。谢谢。

最佳答案

在 UIView 中,sizeToFit 使用 View 的当前大小调用 sizeThatFits:

sizeThatFits:的默认实现返回 View 的当前值,换句话说,在大多数情况下它几乎不执行任何操作(UIView 的某些子类覆盖此方法,因此它返回更有用的内容,例如:UILabel)

换句话说,sizeThatFits 它是一个“模板方法”,一种用于扩展类功能的方法。它的主要目的是被覆盖。

关于iphone - CGRectZero 和 sizeToFit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6433170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com