Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone中带有倾斜区域的自定义UI按钮_Iphone_Objective C_Xcode_Uiimage_Uibutton - Fatal编程技术网

iPhone中带有倾斜区域的自定义UI按钮

iPhone中带有倾斜区域的自定义UI按钮,iphone,objective-c,xcode,uiimage,uibutton,Iphone,Objective C,Xcode,Uiimage,Uibutton,我想在屏幕上有一个按钮,上面有这个图像。正如您在此处看到的,此图像从其各个角都是透明的 UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; [btn setFrame:CGRectMake(xCo, yCo, kImageSizeWidth, kImageSizeHeight)]; [btn setImage:[UIImage imageNamed:@"aboveImg.png"] forState:UIControlState

我想在屏幕上有一个按钮,上面有这个图像。正如您在此处看到的,此图像从其各个角都是透明的

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];
但是点击按钮是可以识别的外部图像,我不想要那种功能

我的意思是,只有在图像内部而不是图像外部点击时,才能识别点击


这怎么可能呢?

您可以将该UIButton子类化,然后将其重写为类似的内容

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

难道没有一个选项可以使用歪斜按钮吗?@sugar:你可以使用
.transform
的一些组合,但是这种方法更灵活。是的!完成转换。我在补充我的答案——这样,你就能明白我到底做了什么。