【问题标题】:custom UIButton with skewed area in iPhoneiPhone中带有倾斜区域的自定义UIButton
【发布时间】:2011-02-24 12:38:29
【问题描述】:

我想在屏幕上有一个带有此图像的按钮。如您在此处所见,此图像的角是透明的。

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];

但是按钮点击被识别出侧面图像,我不想要那种功能。

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

这怎么可能?

【问题讨论】:

    标签: iphone objective-c xcode uiimage uibutton


    【解决方案1】:

    您可以将该 UIButton 子类化,然后将其 -pointInside:withEvent: function 覆盖为类似于

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

    【讨论】:

    • 没有倾斜按钮的选项吗?
    • @sugar:你可以使用.transform的一些组合,但是这种方法更灵活。
    • 是的!完成变换。我正在添加我的答案 - 所以,你可以理解我到底做了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多