我可以有选择地 clipToBounds 吗?
Can I clipToBounds selectively?
我有一个自定义 class,它为我的按钮添加了边框,并具有在左上角创建“X”按钮的功能。
第一个问题:为了使 X 按钮出现在图像按钮的边界之外,我必须关闭图像按钮上的 clipToBounds。但这具有让图像穿过圆角的负面影响。有没有办法只裁剪图像而不裁剪 X 按钮?
第二个问题:边框显示在 X 按钮上方。 (起初我认为这是一个 alpha 问题,但事实并非如此。)我希望第一个问题的解决方案能够解决第二个问题,这就是我在这里解决这两个问题的原因。
我建议创建一个新视图并将 x 按钮和图像视图添加为子视图。此视图不会裁剪到边界。然后在image view上设置border、corner radius和clipToBounds。
我最好的建议是将您的按钮替换为自定义 UIView
,您将向其添加 UITapGestureRecognizer
。然后你就可以很快地解决你的问题。
在您的 ButtonView
(您的 UIView 子类)中添加一个 UIImageView
和您的图像,并向 UIImageView 本身添加一个边框。然后使用 layer.cornerRadius
圆角并剪裁到边界。
现在将单独的 UIImageView
添加到您的 ButtonView
并将其置于最前面。根据需要添加 'x' 图像和圆角。
最后将 ButtonView
的背景图片设置为 .clear
以达到最佳效果。
我有一个自定义 class,它为我的按钮添加了边框,并具有在左上角创建“X”按钮的功能。
第一个问题:为了使 X 按钮出现在图像按钮的边界之外,我必须关闭图像按钮上的 clipToBounds。但这具有让图像穿过圆角的负面影响。有没有办法只裁剪图像而不裁剪 X 按钮?
第二个问题:边框显示在 X 按钮上方。 (起初我认为这是一个 alpha 问题,但事实并非如此。)我希望第一个问题的解决方案能够解决第二个问题,这就是我在这里解决这两个问题的原因。
我建议创建一个新视图并将 x 按钮和图像视图添加为子视图。此视图不会裁剪到边界。然后在image view上设置border、corner radius和clipToBounds。
我最好的建议是将您的按钮替换为自定义 UIView
,您将向其添加 UITapGestureRecognizer
。然后你就可以很快地解决你的问题。
在您的 ButtonView
(您的 UIView 子类)中添加一个 UIImageView
和您的图像,并向 UIImageView 本身添加一个边框。然后使用 layer.cornerRadius
圆角并剪裁到边界。
现在将单独的 UIImageView
添加到您的 ButtonView
并将其置于最前面。根据需要添加 'x' 图像和圆角。
最后将 ButtonView
的背景图片设置为 .clear
以达到最佳效果。