【问题标题】:Can I clipToBounds selectively?我可以选择性地剪辑到边界吗?
【发布时间】:2019-01-25 18:19:40
【问题描述】:

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

第一个问题:为了让 X 按钮出现在图像按钮的边界之外,我必须关闭图像按钮上的 clipToBounds。但这具有允许图像穿过圆角的负面影响。有没有办法只剪辑图像而不是 X 按钮?

第二个问题:边框显示在 X 按钮上。 (起初我认为这是一个 alpha 问题,但事实并非如此。)我希望第一个问题的解决方案能够解决第二个问题,这就是我在这里解决这两个问题的原因。

【问题讨论】:

    标签: ios uiview cliptobounds


    【解决方案1】:

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

    【讨论】:

    • 这是有道理的。不幸的是,我在一个插座集合中有五个按钮,通过故事板连接,并从 CoreData 提供。我想我必须拆开很多代码才能完成这项工作。现在我只是让 X 出现在按钮内并继续前进。但我感谢您的回复!
    【解决方案2】:

    我最好的建议是用自定义的UIView 替换您的按钮,您将在其中添加UITapGestureRecognizer。然后,您将能够很快解决您的问题。

    在您的ButtonView(您的 UIView 子类)中添加一个 UIImageView,与您的图像并为 UIImageView 本身添加一个边框。然后使用layer.cornerRadius 圆角并剪辑到边界。

    现在将单独的UIImageView 添加到您的ButtonView 并将其放在前面。根据需要添加“x”图像和圆角。

    最后将ButtonView的背景图片设置为.clear,将其全部关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      相关资源
      最近更新 更多