触摸时触摸更大

时间:2012-07-28 23:22:36

标签: iphone objective-c ios xcode cocoa-touch

我需要一种方法让用户在按下按钮时有更大的触摸。这样,用户可以错过按钮但仍然可以单击它。有没有办法做到这一点?我不想仅仅根据用户点击的区域更改按钮类。

谢谢! p.s我擅长逻辑思维......我只需要一些代码

1 个答案:

答案 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
    }
}