您的位置:首页 > 产品设计 > UI/UE

iOS—实现UI imageview的底层

2015-09-09 20:53 309 查看
新建一个类 HM imageView 类似于系统自带的UI imageview 效果是一样的

//
//  HMUIimageView.h
//  模仿imageView的底层实现
//
//  Created by YaguangZhu on 15/9/9.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface HMUIimageView : UIView
@property (nonatomic,strong)UIImage *image;
@end

//
//  HMUIimageView.m
//  模仿imageView的底层实现
//
//  Created by YaguangZhu on 15/9/9.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import "HMUIimageView.h"

@implementation HMUIimageView

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {

// Drawing code
[_image drawInRect:rect];
}

- (void)setImage:(UIImage *)image
{
_image = image;
[self setNeedsDisplay];
}
@end


//
//  ViewController.m
//  模仿imageView的底层实现
//
//  Created by YaguangZhu on 15/9/9.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import "ViewController.h"
#import "HMUIimageView.h"
@interface ViewController ()
{
HMUIimageView *_imgV;
}
@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//    UIImageView *imgV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 250, 250)];
//    imgV.image = [UIImage imageNamed:@"liuyan"];
//    [self.view addSubview:imgV];

HMUIimageView *imgV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 250, 250)];
imgV.image = [UIImage imageNamed:@"liuyan"];
[self.view addSubview:imgV];
_imgV = imgV;

}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
_imgV.image = [UIImage imageNamed:@"teacher"];

}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: