【问题标题】:Aspect Fill an image (the image will be updated by the user) in a Custom circular UIButton方面 在自定义圆形 UIButton 中填充图像(图像将由用户更新)
【发布时间】:2016-03-29 09:01:58
【问题描述】:

我的一个 iOS 应用项目有问题。

我的问题是:创建具有特定尺寸的圆形 UIButton 的最有效方法是什么,它将具有 Aspect Fill UIImage,用户可以随时从相机或库中更新?

我正在尝试创建一个圆形 UIButton,其中包含用户上传的图像。我尝试过的一种解决方案是让图像变成圆形,然后只用一个空按钮覆盖它,但感觉效率不高。

我想在 UITableView 中使用这些按钮,所以基本上不止一个这些按钮。

我希望我能了解如何使用 UIButton 解决此问题,以便更新图像并在其中填充 Aspect按钮的属性。

【问题讨论】:

  • 我认为添加UIGestureRecognizer 来识别UIImageView 上的点击会更容易。这是一个选择吗?如果您只需要显示一个圆形图像视图并使其可点击,则不需要UIButton 背后的所有逻辑。 UIImageView 在显示图像方面有更多的自定义。 stackoverflow.com/questions/28522104/…
  • 我基本上只需要显示圆形图像并使其与用户交互,因此它会识别水龙头。这样,我仍然可以设置和完全自定义 UIImageView 的属性,只需 AspectFill 并更新其中的图像是吗?谢谢,我一定会尝试这种方式。
  • 就是这样,我已经这样做了好几次了,我更愿意避免 UIButton 及其所有 UIControl 包袱
  • "但是感觉效率不是很高。"不要相信你的感觉。你不是绝地武士。如果您的应用程序有性能问题,请使用 Instruments 来确定您的 CPU 时间或内存的去向。 (提示:一张图片上的一个按钮不会成为瓶颈。)

标签: ios iphone swift uitableview uibutton


【解决方案1】:

我也更喜欢UIImageView with UITapGesture。因为根据我的经验,纵横比在UIButton 中效果不佳。 UIImageView with layer.cornerRadius 可以从用户交互端执行。

【讨论】:

    【解决方案2】:
    1. 您可以在您的 UITableView 中添加一个 UIButton 并使用 UIButton 单击事件设置/更改它的背景图像。
    2. 把按钮变成一个圆圈。你可以像这样的用户代码:

      [btn.layer setMasksToBounds:YES]; [btn.layer setCornerRadius:10.0];

      或者如果你使用 xib,你可以这样做:

      http://i.stack.imgur.com/Ytlqs.jpg

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-06
      • 2021-01-21
      • 2018-07-28
      • 2015-05-19
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      相关资源
      最近更新 更多