HitView
来源:互联网 发布:淘宝闲置物品交易规则 编辑:程序博客网 时间:2024/05/16 10:22
#import "panelView.h"
@implementation panelView
- (instancetype)initWithFrame:(CGRect)frame {
self = [superinitWithFrame:frame];
if (self) {
UIButton *roundBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
roundBtn.frame =CGRectMake(self.frame.size.width / 2 - 30, -30,60, 60);
roundBtn.backgroundColor = [UIColorredColor];
roundBtn.layer.cornerRadius =30;
roundBtn.tag =10086;
[roundBtn addTarget:self action:@selector(onBtnPressed:)
forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:roundBtn];
UIButton *leftBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
leftBtn.frame =CGRectMake(0,15, 30,30);
leftBtn.backgroundColor = [UIColorblueColor];
leftBtn.tag =10087;
[leftBtn addTarget:self action:@selector(onBtnPressed:)
forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:leftBtn];
UIButton *rightBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
rightBtn.frame =CGRectMake(self.frame.size.width - 30, 15,30, 30);
rightBtn.backgroundColor = [UIColoryellowColor];
rightBtn.tag =10088;
[rightBtn addTarget:self action:@selector(onBtnPressed:)
forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:rightBtn];
}
returnself;
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *hitView =nil;
//NSLog(@"point:%@", NSStringFromCGPoint(point));
UIButton *roundBtn = (UIButton *)[selfviewWithTag:10086];
UIButton *leftBtn = (UIButton *)[selfviewWithTag:10087];
UIButton *rightBtn = (UIButton *)[selfviewWithTag:10088];
BOOL pointInRound = [selftouchPointInsideCircle:roundBtn.center radius:30 targetPoint:point];
if (pointInRound) {
hitView = roundBtn;
} elseif(CGRectContainsPoint(leftBtn.frame, point)) {
hitView = leftBtn;
} elseif(CGRectContainsPoint(rightBtn.frame, point)) {
hitView = rightBtn;
} else {
hitView = self;
}
return hitView;
}
- (BOOL)touchPointInsideCircle:(CGPoint)center radius:(CGFloat)radius targetPoint:(CGPoint)point
{
CGFloat dist =sqrtf((point.x - center.x) * (point.x - center.x) +
(point.y - center.y) * (point.y - center.y));
return (dist <= radius);
}
- (void)onBtnPressed:(id)sender {
UIButton *btn = (UIButton *)sender;
NSLog(@"btn tag:%ld", btn.tag);
}
@end
- HitView
- SQL多表连接查询(详细实例)
- C# 委托(Delegate Action Func Predicate)
- oracle数据库访问
- OpenCV学习笔记(01)我的第一个OpenCV程序(环境配置)
- DATE_FORMAT()函数实战
- HitView
- 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置
- 网易新闻客户端iOS版本中新闻详情页(UIWebView)技术实现的分析探讨
- ACM解题总结——HihoCoder1299
- androd 屏幕分辨率对照表
- 关于ActionBar中setDisplayHomeAsUpEnabled(true)等方法的问题
- 调用门详解
- 173. Binary Search Tree Iterator
- spring统一管理异常和访问日志