iOS中气泡对话框拉伸效果视图的实现
2016-06-21 09:35
344 查看
在iOS开发中会遇到使用一个气泡类型的视图来做背景,有时候是UIView和UIImageView,有时候是对话框Button,
如果直接设置气泡图片的话,图片在拉伸过程中会把气泡的小嘴也拉大,而且如果是Button的话,内容也有可能会添加到小嘴的地方,
在iOS6后,使用 resizableImageWithCapInsets 重构图片大小拉伸的设置可以解决这个问题。
原理就是把这个UIImage的中间部分,没有小嘴的一个部分取出来进行拉伸,而小嘴的部分不变,如果是Button的话,还需要设置内容
在UIButton这个content视图上的边距。
UIImage * backImage;
backImage = [UIImage imageNamed:@"chatfrom_bg_normal.png"];
backImage = [backImage resizableImageWithCapInsets:UIEdgeInsetsMake(35, 22, 10, 10)];
backImageView.image = backImage;
backImageView.frame = CGRectMake(, , , );
如果UIimage是给UIbutton来设置的话,还需要这样写,
button.contentEdgeInsets = UIEdgeInsetsMake(kContentTop, kContentLeft, kContentBottom, kContentRight);//这四个参数就是button的内容对视图的边距,自己调整值来看效果。
如果直接设置气泡图片的话,图片在拉伸过程中会把气泡的小嘴也拉大,而且如果是Button的话,内容也有可能会添加到小嘴的地方,
在iOS6后,使用 resizableImageWithCapInsets 重构图片大小拉伸的设置可以解决这个问题。
原理就是把这个UIImage的中间部分,没有小嘴的一个部分取出来进行拉伸,而小嘴的部分不变,如果是Button的话,还需要设置内容
在UIButton这个content视图上的边距。
UIImage * backImage;
backImage = [UIImage imageNamed:@"chatfrom_bg_normal.png"];
backImage = [backImage resizableImageWithCapInsets:UIEdgeInsetsMake(35, 22, 10, 10)];
backImageView.image = backImage;
backImageView.frame = CGRectMake(, , , );
如果UIimage是给UIbutton来设置的话,还需要这样写,
button.contentEdgeInsets = UIEdgeInsetsMake(kContentTop, kContentLeft, kContentBottom, kContentRight);//这四个参数就是button的内容对视图的边距,自己调整值来看效果。
相关文章推荐
- 利用jQuery和CSS将背景图片拉伸
- android平台下使用点九PNG技术
- resizableImageWithCapInsets 图片拉伸
- iOS开发中拉伸图片的几种方式
- iOS开发-tableView顶部图片拉伸
- UI基础_UIButton
- android 解决按钮、imageView 背景图片拉伸变大的问题
- 自定义相机预览图片拉伸的巧妙解决方法
- 图片加载缓存+双指拉伸图片实战
- iOS图片拉伸技巧
- UIImage 拉伸方法
- stretchableImageWithLeftCapWidth
- 使用Asset Catalog 的Slicing的功能
- ios图片拉伸问题的总结
- iOS开发 - 技巧 - 01 - 图片拉伸方式
- 实现图片拉伸
- iOS开发中图片拉伸的三个方法介绍
- ios图片拉伸
- [一句秒懂]图片拉伸技巧,纯代码书写UIImage分类搞定
- IOS拉伸图片