пользовательская кнопка UIB с перекошенной областью в iPhone - PullRequest
0 голосов
/ 27 мая 2010

http://img16.imageshack.us/img16/225/ladibig.png http://img16.imageshack.us/img16/225/ladibig.png

Я хочу, чтобы на экране была кнопка с этим изображением. это изображение прозрачно из его углов, как вы можете видеть здесь.

UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(xCo, yCo, kImageSizeWidth, kImageSizeHeight)];
[btn setImage:[UIImage imageNamed:@"aboveImg.png"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnTapped:) forControlEvents:UIControlEventTouchDown];

Но нажатие кнопки распознается вне изображения, и мне не нужны такие функции.

Я имею в виду, что нажатие должно быть распознано только в том случае, если оно касается изображения, а не внешнего изображения.

Как это возможно?

1 Ответ

1 голос
/ 27 мая 2010

Вы можете создать подкласс этого UIButton, а затем переопределить его -pointInside:withEvent: функцию на что-то похожее на

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event {
   if (point is in that rhombus)
     return YES;
   else
     return NO;
}
...