首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGRectZero和sizeToFit

CGRectZero和sizeToFit
EN

Stack Overflow用户
提问于 2011-06-22 07:25:00
回答 1查看 1.9K关注 0票数 2

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

代码语言:javascript
复制
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来填充视图?查看UIView文档时,我不太确定“调整并移动接收器视图,使其仅包含其子视图”是什么意思。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-01-30 05:05:06

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

sizeThatFits:的默认实现返回视图的当前值,换句话说,它在大多数情况下几乎不做任何事情( UIView的一些子类覆盖了此方法,因此它返回更有用的值,例如: UILabel)

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6433170

复制
相关文章

相似问题

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