【问题标题】:Find the Name of a Background Image of a Button in Swift在 Swift 中查找按钮的背景图像的名称
【发布时间】:2016-08-12 16:28:07
【问题描述】:

我已经命名了一组这样的图像:

未选中:

图片名称

已选择:

nameOfTheImage~

为了更改按钮的背景图片,我编写了代码以获取背景图片名称的字符串,然后附加或取消“~”以将其更改为正确的图片。

所以我尝试了这个:

let backgroundString = String(selector.currentBackgroundImage!)
print(backgroundString)

但我明白了:

<UIImage: 0x146d98b80>, {485, 300}

有什么方法可以得到背景图片的纯名吗?

非常感谢任何帮助。

【问题讨论】:

  • 我认为这是不可能得到background imagenameuibutton。参考这些stackoverflow.com/questions/3158737/…。作为一个建议,如何使用uiimageview 而不是button background image
  • @AnuradhS 您是否从UIImageView 获得图像名称?
  • 不,但是通过检查正在显示的图像比检查按钮背景图像更容易更改图像
  • 可以显示按钮的代码吗
  • 你打算做什么?您可以通过UIButton 的状态不同地设置背景图像,即UIControlStateSelected..

标签: ios swift uibutton


【解决方案1】:

我遇到了类似的问题。幸好我知道viewcontroller显示时按钮的状态,所以我创建了一个String控件,大概是这样的:

var buttonState = "not selected" 

然后当用户点击我检查的按钮时:

if (buttonState == "not selected") {

   // change buttonState to "selected"

   // change the image of the button

}

【讨论】:

    【解决方案2】:

    我刚刚处理了一个有点类似的问题。您可以使用:buttonName.setBackgroundImage(#imageLiteral(resourceName: "backgroundImageName"), for: .normal) 这里的 .normal 是按钮的状态,所以你可以相应地调整你的状态。

    对于其他可能遇到此问题的人,这是针对 Swift5 的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-29
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      相关资源
      最近更新 更多