iOS视图边框的简单做法
2015-12-15 12:38
302 查看
我们绘制UI界面的时候,一般我们做边框是用layer,然后再给它上面添加阴影什么的,我比较喜欢用下面这个方法,
UI弄几张边框的图片,用代码给图片拉伸
自定义一个边框视图或者在你的视图下面添加一个带有拉伸后的UIImage的UIImageView就行了
全部代码:
BorderView.h
BorderView.m
ViewController.m
效果图:
demo地址:http://pan.baidu.com/s/1dEpedBr
tips:图片只需要上下左右距离边部有几象数,中间空一部分就行了
UI弄几张边框的图片,用代码给图片拉伸
- (UIImage *)changeBorderImage:(UIImage *)borderImage { UIImage *image = borderImage; CGFloat top = 2; // 顶端盖高度 CGFloat bottom = 2 ; // 底端盖高度 CGFloat left = 2; // 左端盖宽度 CGFloat right = 2; // 右端盖宽度 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 = 2; // 顶端盖高度 CGFloat bottom = 2 ; // 底端盖高度 CGFloat left = 2; // 左端盖宽度 CGFloat right = 2; // 右端盖宽度 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(100, 100, 100, 50) borderImage:[UIImage imageNamed:@"tool_biankuang2"]]; [self.view addSubview:borderView]; BorderView *borderView1 = [[BorderView alloc]initWithFrame:CGRectMake(100, 200, 150, 100) borderImage:[UIImage imageNamed:@"tool_biankuang2"]]; [self.view addSubview:borderView1]; BorderView *borderView2 = [[BorderView alloc]initWithFrame:CGRectMake(100, 350, 30, 100) borderImage:[UIImage imageNamed:@"tool_biankuang"]]; [self.view addSubview:borderView2]; }
效果图:
demo地址:http://pan.baidu.com/s/1dEpedBr
tips:图片只需要上下左右距离边部有几象数,中间空一部分就行了
相关文章推荐
- iOS一些推荐的学习路径发展
- iOS 集成第三方微博登录功能
- 适配iOS 9系统
- iOS中Bitcode的介绍及配置
- iOS xcode实用插件
- ios7自定义返回按钮后,右滑返回功能失效解决方法
- ios 自动生成 @2X 和 @3X 图 Xcode插件 RTImageAssets
- iOS开发 - 登陆post请求遇到的问题
- [iOS]iOS开发者账号申请与注册流程
- iOS CocoaPods安装和使用图解
- iOS QQ分享(最新2015.12.25)
- [Xcode 7.2]Xcode菜单栏之你不知道的那点事
- iOS开发之JSON和XML
- iOS--NSThread
- iOS-NSUserDefaults
- iOS tableView 改变头视图和脚视图的颜色
- IOS 开源框架:SDWebImage
- IOS中使用像素位图(CGImageRef)对图片进行处理
- iOS 返回父视图之后如何刷新页面
- iOS 学习日志 :开发中常用的注释方法以及代码块