首页 技术 正文
技术 2022年11月11日
0 收藏 789 点赞 2,853 浏览 1456 个字

最近有遇到过sizeToFit的方法,比较好奇,所以查了点资料

  在官方文档中

  - (void)sizeToFit;

   // calls sizeThatFits: with current view bounds and changes bounds size.  调用这个方法来改变当前view的大小(让大小自适应)

  

    现在我从网页上加载一张图片并使用sizeToFit方法

sizeToFit的用法和用途

//给imageView设置图片

-(void)setImage{

//从网页中获取图片的URL

NSURL *url = [NSURL URLWithString:@”http://img.taopic.com/uploads/allimg/140403/240438-1404030TT089.jpg”];

//根据url得到data

NSData *data = [NSData dataWithContentsOfURL:url];

//根据data得到图片

UIImage *image = [UIImage imageWithData:data];

//将image设置到imageView中

self.imageView.image = image;

//调用sizeTofit方法 得到适合当前view的尺寸

[self.imageView sizeToFit];

//手动设置frame

//self.imageView.frame = CGRectMake(0, 0, 375, 667);

NSLog(@”sizeToFit—–%@”,NSStringFromCGRect(self.imageView.frame));

//设置scrollView的滚动范围

self.scrollView.contentSize = image.size;

}

sizeToFit的用法和用途

此时打印imageView的大小

2016-05-28 22:33:39.401 测试sizeToFit[20263:1497379] sizeToFit—–{{0, 0}, {1000, 564}}

发现在我们并没有设置imageView的情况下 , imageView的大小正好等于图片的大小,所以可以说 sizeToFit 就是让当前的View根据子元素的大小来调整 他自己的大小(最合适的).

@interface UIView(UIViewGeometry)

因为是UIView的分类 所以UILabel中也可以调用这个方法来是UILable根据文字的大小来调整大小(同理其他的控件也是可以的);

虽然UIView和它的子控件都可以用 但是sizeToFit并不适合手动布局

所以我们一般在实际开发中并不怎么用 但是在一些系统自动布局的场合我们用sizeToFit就比较适合了

1.对navigationItem的设置,

2.对UIBarButtonItem的设置

3.UILabel中添加文字,然后让调整label的大小来适应文字,我们也调用sizeToFit的方法

4.等等

PS:关于从网页中加载图片一开始 有报错 查了资料才知道

iOS9中新增App Transport Security(简称ATS)特性, 主要使到原来请求的时候用到的HTTP,都转向TLS1.2协议进行传输。这也意味着所有的HTTP协议都强制使用了HTTPS协议进行传输

所以我们需要在info.plist文件中添加一个属性

<key>NSAppTransportSecurity</key>

<dict>

<key>NSAllowsArbitraryLoads</key>

<true/>

</dict>

  

            

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,994
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,507
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,350
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,135
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,768
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,845