【问题标题】:Swift: Button with image bigger than buttonSwift:图像大于按钮的按钮
【发布时间】:2018-04-25 20:26:42
【问题描述】:

我不知道如何让按钮看起来像下图所示。

图标应该比按钮大。

我已经厌倦了这个,但它不起作用:

let image = UIImage(named: "CircleForButtonCountries")
goToCoutriesButtonMain.imageView?.contentMode = UIViewContentMode.scaleAspectFit
goToCoutriesButtonMain.setImage(image, for: UIControlState.normal)

【问题讨论】:

  • 不要让图片比按钮大。将它们都放在一个视图上,并使按钮小于图像。您将无法(轻松)通过 setImage 方法使用标准按钮。
  • 然后将视图设为按钮以便我可以点击它?
  • 没有默认的方法来实现这一点。你必须设计一个自定义视图,最大应该包括一个底部UIView,一个位于中心的UIButton,最后是一个位于按钮顶部的大UIImageView,带有漂亮的大白色边框和圆角。试试这个或其他方法,然后然后回复我们
  • 你不需要把它变成一个按钮。不过,您可以为其添加轻击手势识别器。 :-) 或者你可以使用像 staticVoidMan 说的按钮 :-) 有很多方法可以实现它。尝试在操场上玩耍,进行一些快速实验。
  • 带有视图的想法效果很好,非常感谢。如果我有 2 个按钮,你会将它们放在同一个视图中还是制作 2 个视图并将它们放在一个堆栈中?我知道有很多可能性,但有时一种比另一种效果更好

标签: swift uibutton


【解决方案1】:

试试这个代码

let image = UIImage(named: "CircleForButtonCountries")
goToCoutriesButtonMain.imageView?.contentMode = 
UIViewContentMode.scaleAspectFit
goToCoutriesButtonMain.setBackgroundImage(image, for: UIControlState.normal)  // use setBackgroundImage instead of setImage 

【讨论】:

    【解决方案2】:

    在 Swift 5 中工作:

    yourButton.clipsToBounds = true
    yourButton.contentMode = .scaleAspectFill
    yourButton.setBackgroundImage(UIImage(named: "yourImage"), for: .normal)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      相关资源
      最近更新 更多