我可以选择性地clipToBounds吗?

时间:2019-01-25 18:19:41

标签: ios uiview cliptobounds

我有一个自定义类,该类在按钮上添加边框,并具有在左上角创建“ X”按钮的功能。

第一个问题:为了使X按钮出现在图像按钮的边界之外,我必须调整图像按钮上的clipToBounds。但这具有使图像通过圆角戳戳的负面影响。有没有办法只剪切图像而不剪切X按钮?

第二个问题:X按钮上方显示边框。 (我原本以为这是一个Alpha问题,但事实并非如此。)我希望第一个问题的解决方案能够解决第二个问题,这就是为什么我在这里同时解决这两个问题。

enter image description here

2 个答案:

答案 0 :(得分:3)

我建议创建一个新视图,并将x按钮和图像视图添加为子视图。该视图将不会裁剪到边界。然后在图像视图上设置边框,角半径和clipToBounds。

答案 1 :(得分:0)

我最好的建议是用自定义UITapGestureRecognizer替换按钮,并在其中添加一个ButtonView。然后,您将可以很快解决您的问题。

在您的UIImageView(您的UIView子类)中,添加一个layer.cornerRadius,以及您的图像,并向UIImageView本身添加边框。然后使用UIImageView拐角并裁剪到边界。

现在,在您的ButtonView中添加一个单独的ButtonView并将其放在前面。添加“ x”图像并根据需要添加圆角。

最后将.clear的背景图像设置为{{1}},以将其全部关闭。