首页 > 代码库 > sizeThatFits and sizeToFit
sizeThatFits and sizeToFit
http://liuxing8807.blog.163.com/blog/static/9703530520134381526554/
sizeThatFits and sizeToFit是UIView的两个方法, 官方文档上说: - (CGSize)sizeThatFits:(CGSize)size; 作用:return 'best' size to fit given size. does not actually resize view. Default is return existing view size - (void)sizeToFit; 作用: calls sizeThatFits: with current view bounds and changes bounds size. - (void)viewDidLoad { [super viewDidLoad]; UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 100)]; view.backgroundColor = [UIColor yellowColor]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 0, 0)]; [label setFont:[UIFont systemFontOfSize:20]]; label.text = @"hello wdszgrf"; CGSize sizeThatFits = [label sizeThatFits:CGSizeZero]; NSLog(@"---- %f %f ----", sizeThatFits.width, sizeThatFits.height); // output: ---- 117.000000 24.000000 ---- NSLog(@"**** %f %f ****", label.frame.size.width, label.frame.size.height); // output: **** 0.000000 0.000000 **** 说明sizeThatSize并没有改变原始label的大小 [label sizeToFit]; // 这样搞就直接改变了这个label的宽和高,使它依据上面字符串的大小做合适的改变 [label setCenter:CGPointMake(80, 50)]; NSLog(@"==== %f %f ====", label.frame.size.width, label.frame.size.height); // output: ==== 117.000000 24.000000 ==== [view addSubview:label]; [self.view addSubview:view]; }
sizeThatFits and sizeToFit
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。