我有UIView的子类
@interface TBL_CardView : UIView
它内部有卡片图像的UIImageView。
我需要按照以下方式处理卡片的触摸:
我知道如何处理borderColor的设置:
self.layer.borderColor = [UIColor redColor].CGColor;
self.layer.borderWidth = 3.0f;
但我不知道实现瘦按钮行为的最简单方法是什么? 我应该只是按钮,还是使用UIResponder或其他东西? 每个案例的利弊是什么?
答案 0 :(得分:2)
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"%s", __PRETTY_FUNCTION__);
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView: self];
BOOL isInside = [self pointInside: touchLocation withEvent: event];
if (isInside)
{
//if logic
NSLog(@"INSIDE");
}
else
{
//else logic
NSLog(@"OUTSIDE");
}
}
您可以查看此帖子,了解有关如何实现类似按钮的行为以及响应UIView
或子类的触摸的信息。
然而,我自己通常做的是在我的alpha = 0.0
之上放置一个透明的(清晰的颜色,没有标题,而不是UIButton
)UIView
,并且响应我需要的事件。检查它是否符合您的需求。