我们绘制UI界面的时候,一般我们做边框是用layer,然后再给它上面添加阴影什么的,我比较喜欢用下面这个方法,

UI弄几张边框的图片,用代码给图片拉伸

- (UIImage *)changeBorderImage:(UIImage *)borderImage {
UIImage *image = borderImage;
CGFloat top = ; // 顶端盖高度
CGFloat bottom = ; // 底端盖高度
CGFloat left = ; // 左端盖宽度
CGFloat right = ; // 右端盖宽度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定为拉伸模式,伸缩后重新赋值
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
return image;
}

自定义一个边框视图或者在你的视图下面添加一个带有拉伸后的UIImage的UIImageView就行了

全部代码:

BorderView.h

//
// BorderView.h
// border_creat
//
// Created by 谭启宏 on 15/12/15.
// Copyright © 2015年 谭启宏. All rights reserved.
// #import <UIKit/UIKit.h> @interface BorderView : UIImageView @property (nonatomic,strong)UIImage *borderImage; - (instancetype)initWithFrame:(CGRect)frame borderImage:(UIImage *)borderImage; @end

BorderView.m

//
// BorderView.m
// border_creat
//
// Created by 谭启宏 on 15/12/15.
// Copyright © 2015年 谭启宏. All rights reserved.
// #import "BorderView.h" @implementation BorderView - (instancetype)initWithFrame:(CGRect)frame borderImage:(UIImage *)borderImage {
self =[super initWithFrame:frame];
if (self) {
self.image = [self changeBorderImage:borderImage]; }
return self;
} - (void)setBorderImage:(UIImage *)borderImage {
self.borderImage = [self changeBorderImage:borderImage];
} - (UIImage *)changeBorderImage:(UIImage *)borderImage {
UIImage *image = borderImage;
CGFloat top = ; // 顶端盖高度
CGFloat bottom = ; // 底端盖高度
CGFloat left = ; // 左端盖宽度
CGFloat right = ; // 右端盖宽度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定为拉伸模式,伸缩后重新赋值
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
return image;
} @end

ViewController.m

- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
BorderView *borderView = [[BorderView alloc]initWithFrame:CGRectMake(, , , ) borderImage:[UIImage imageNamed:@"tool_biankuang2"]];
[self.view addSubview:borderView]; BorderView *borderView1 = [[BorderView alloc]initWithFrame:CGRectMake(, , , ) borderImage:[UIImage imageNamed:@"tool_biankuang2"]];
[self.view addSubview:borderView1]; BorderView *borderView2 = [[BorderView alloc]initWithFrame:CGRectMake(, , , ) borderImage:[UIImage imageNamed:@"tool_biankuang"]];
[self.view addSubview:borderView2]; }

效果图:

demo地址:http://pan.baidu.com/s/1dEpedBr

tips:图片只需要上下左右距离边部有几象数,中间空一部分就行了

最新文章

  1. [node.js 学习]1.start a simple server
  2. Python 局部变量与全局变量
  3. 关于tomcat文件下载配置
  4. 修正ios h5上传图时的图片方向问题
  5. [改善Java代码]break万万不可忘
  6. juce 中的ReferenceCountedObjectPtr
  7. linux shell: 取得某个目录下的文件名列表
  8. 用C写一个web服务器(二) I/O多路复用之epoll
  9. react+webpack开发环境配置
  10. Python selenium 文件自动下载 (自动下载器)
  11. es随想二
  12. Java 实现 HttpClients+jsoup,Jsoup,htmlunit,Headless Chrome 爬虫抓取数据
  13. Tomcat9使用免费的Https证书加密网站
  14. 【.Net Core】获取绝对路径、相对路径
  15. 【学习总结】Git学习-参考廖雪峰老师教程-期末总结
  16. MySQL性能分析工具之PROFILE
  17. 爬虫处理网站的bug---小于号未转化为实体符
  18. cached-query 将缓存和查询数据库高速连接起来的轻类库
  19. js 的深拷贝
  20. spirng中的asm与jdk不兼容&lt;已解决&gt;

热门文章

  1. 《高性能JavaScript》 实用指南
  2. WebService学习之旅(七)Axis2发布WebService的几种方式
  3. https域名强弱校验的区别
  4. 继承UIView的初始化 、重绘、以及绘制图片
  5. LeetCode 3Sum Closest 最近似的3sum(2sum方法)
  6. C#反射调用小DEMO
  7. ZendStudio 常用快捷键大全
  8. 朴素贝叶斯分类&lt;转载&gt;
  9. [已解决]gitee初次使用git clone报错
  10. 实验十一 团队作业7:团队项目设计完善&amp;编码