IOS学习系列已经写了7篇了,还是忍不住想写我最喜欢的自定义View部分。如果问在我接的Android,IOS开发项目的开发过程中最让我高兴的时刻是什么时候,答案不是项目结束收钱的那一刻,而是在开发过程中能够实现美工的所有设计,制作出精美的页面效果的时候。所以其实在移动开发的所有知识点里面,我最喜欢的就是自定义View了
那么,这一次我先写一下入门教程,先写一个简单的自定义View并用block实现事件处理吧。
首先我们先准备一下图片素材,这些用PS很简单就能做出来。创建Single View Application,在项目里面创建img文件夹,放上准备好的图片,然后在项目里面加上这些图片
然后就创建类继承UIView,直接上代码
先是CircleDirectionControllerUIView.h
#import <UIKit/UIKit.h>
@interface CircleDirectionControllerUIView : UIView
{
void (^UpClick)();//声明上按键block
void (^DownClick)();//声明下按键block
void (^LeftClick)();//声明左按键block
void (^RightClick)();//声明右按键block
}
- (id)initWithFrame:(CGRect)frame;
- (void)drawRect:(CGRect)rect;
-(void)setUpClick:(void(^)()) upClick;
-(void)setDownClick:(void(^)()) downClick;
-(void)setLeftClick:(void(^)()) leftClick;
-(void)setRightClick:(void(^)()) rightClick;
@end
然后是CircleDirectionController.m
#import "CircleDirectionControllerUIView.h"
@implementation CircleDirectionControllerUIView
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
}
[self setBackgroundColor:[UIColor clearColor]];//设置为透明背景
return self;
}
-(void)setUpClick:(void (^)())upClick{//设置block事件
UpClick=upClick;
}
-(void)setDownClick:(void (^)())downClick{
DownClick=downClick;
}
-(void)setLeftClick:(void (^)())leftClick{
LeftClick=leftClick;
}
-(void)setRightClick:(voi