我无法在 xcode 9.1 中的 UIButton 上显示图像

Posted

技术标签:

【中文标题】我无法在 xcode 9.1 中的 UIButton 上显示图像【英文标题】:I can't display image on UIButton in xcode 9.1 【发布时间】:2017-10-04 00:26:57 【问题描述】:

这是我的代码。我想在三个按钮中显示三个随机食物图像。我检查语法,这似乎也不错。我不确定图像。我在图像集中确实有 1x、2x 和 3x 图像。

import UIKit
import GameplayKit

class ViewController: UIViewController 

    @IBOutlet weak var button1: UIButton!

    @IBOutlet weak var button2: UIButton!

    @IBOutlet weak var button3: UIButton!


    var foodItems = [String]()

    override func viewDidLoad() 
        super.viewDidLoad()
        //Add food items into Array

        foodItems.append("Apple")
        foodItems.append("Banana")
        foodItems.append("Bhindi")
        foodItems.append("Bread")
        foodItems.append("CornFlakes")
        foodItems.append("Dal Dhokli")
        foodItems.append("Egg")
        foodItems.append("Milk")
        foodItems.append("Nan")
        foodItems.append("Roti")

        // Add border to button(default color is black)

        button1.layer.borderWidth = 1
        button2.layer.borderWidth = 1
        button3.layer.borderWidth = 1

        // change border color to gray


        button1.layer.borderColor = UIColor.gray.cgColor
        button2.layer.borderColor = UIColor.gray.cgColor
        button3.layer.borderColor = UIColor.gray.cgColor

        // Do any additional setup after loading the view, typically from a nib.

        askQuestion()
    
    // ask question to identify foodItem

    func askQuestion() 
        foodItems = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: foodItems) as! [String]
        //set image to button 1, 2 and 3

        button1.setImage(UIImage(named: foodItems[0]), for: .normal)
        button2.setImage(UIImage(named: foodItems[1]), for: .normal)
        button3.setImage(UIImage(named: foodItems[2]), for: .normal)

    

这是模拟器视图。我只能看到蓝色方块。我在图像集中确实有 1x、2x 和 3x 图像。

【问题讨论】:

你能把你的Assets.xcassets截图显示一下吗? 【参考方案1】:

在故事板或笔尖中将按钮类型更改为自定义

【讨论】:

【参考方案2】:

转到图像资源 -> 选择图像 -> 属性检查器 -> 渲染为(在图像集中)应该是默认的

【讨论】:

【参考方案3】:

在 xode 9 中拖放不起作用。您必须使用以下屏幕截图添加文件。

然后使用相同的代码。

或者在 Assets.xcassets 中添加图片

【讨论】:

以上是关于我无法在 xcode 9.1 中的 UIButton 上显示图像的主要内容,如果未能解决你的问题,请参考以下文章

它似乎不是 Time Profiler - Xcode 9.1 中的主要内容

如何设置按钮的背景颜色 - xcode

Xcode 7.1 iOS 9.1 模拟器透明

ios watchkit 应用程序无法使用 Xcode 7.2 安装到 iwatch

解析通知问题。 iOS 9.1、Xcode 7.1.1

Xcode 7 启动屏幕图像无法正确加载