我需要一种方法让用户在按下按钮时有更大的触摸。这样,用户可以错过按钮但仍然可以单击它。有没有办法做到这一点?我不想仅仅根据用户点击的区域更改按钮类。
谢谢! p.s我擅长逻辑思维......我只需要一些代码
答案 0 :(得分:1)
1)你可以使用[yourButtonType setBackgroundImage:yourImage forState:UIControlStateNormal]; 你可以让你像这样,
-------------------------------------------
| transparent, transparent, transparent |
| transparent,yourOpaqueImage, transparent|
| transparent, transparent, transparent |
|------------------------------------------
实际上按钮框架较大,但用户无法识别
2)你可以使用touchesEnded,就像这样
- (void)touchesEnded:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint location = [touch locationInView:self];
CGRect btnRect = CGRectMake(btn.frame.origon.x-10,btn.frame.origon.y-10 , btn.frame.size.width+20, btn.frame.size.height+20);
if (CGRectContainsPoint(btnRect, location)) {
//sender your button
}
}