当前位置: 首页 > 面试题库 >

使用Xcode 6.1 / Swift以编程方式将图像设置为UIImageView

万俟穆冉
2023-03-14
问题内容

我正在尝试在Xcode 6.1中以编程方式设置UIImageView:

@IBOutlet weak var bgImage: UIImageView!

var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)

但是Xcode表示bgImage = UIImageView(image: image) Image的“预期声明”
"afternoon"是PNG,我的理解是PNG不需要在XCode 6.1中进行扩展。

也尝试过bgImage.image = UIImage(named: "afternoon"),但仍然得到:

在此处输入图片说明

更新

好的,我已将要更新的代码UIImageView放入viewDidLoad函数中,但UIImageView仍未显示图像(该图像以下午.png的形式存在于基本目录中):

@IBOutlet weak var bgImage: UIImageView!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    updateTime()
    var timer = NSTimer()
    let aSelector : Selector = "updateTime"
    timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)

    var image : UIImage = UIImage(named:"afternoon")!
    bgImage = UIImageView(image: image)
}

问题答案:

由于您已将bgImage分配并链接为IBOutlet,因此无需将其初始化为UIImageView
…而是只需将image属性设置为即可bgImage.image = UIImage(named: "afternoon")。运行此代码后,由于已使用插座分配了图像,因此图像看起来很好。

在此处输入图片说明

但是,如果它不是插座,并且您尚未将其连接到情节提要/ xib文件上的UIImageView对象,则可以执行以下操作…

class ViewController: UIViewController {
    var bgImage: UIImageView?

    override func viewDidLoad() {
        super.viewDidLoad()

        var image: UIImage = UIImage(named: "afternoon")!
        bgImage = UIImageView(image: image)
        bgImage!.frame = CGRectMake(0,0,100,200)
        self.view.addSubview(bgImage!)
    }
}


 类似资料:
  • 问题内容: 我看到了一些示例代码,它们将相同的OnClick事件分配给Android中的所有按钮(即使它们执行的动作完全不同)。如何用Swift做 Android示例: 注意:我不想以编程方式创建按钮。 问题答案: 在iOS上,您没有设置监听器;你添加一个目标(物体)和行动(方法签名,在iOS的说法“选择”)将(这是一个子类): 在这种情况下,第一个参数是目标对象。该操作是一个选择器(方法签名),

  • 我在寻找过去的一天,我没有成功。 我从API获取图像,并使用以下代码将其下载到位图文件。 我得到一个正方形的图像,我想裁剪四个角,使其成为圆形图像。有没有可能实现的方法? 欢迎任何相关答案。提前谢谢。

  • 如何以编程方式设置属性?

  • 问题内容: 是否可以使用Swift 3以编程方式为Mac上的桌面拍摄屏幕截图?我找不到关于该主题的单个主题或论坛帖子,甚至在Apple的官方文档中也找不到。 问题答案: 是的,它有可能。此功能获取所有连接的监视器的屏幕截图,并将其作为jpg文件写入指定的路径。生成文件名作为Unix时间戳。

  • 问题内容: 我遇到以下问题:我实现了一个在一个案例中包含和的。在这种情况下,图像约为屏幕宽度的50%。所以我想居中。不幸的是,我发现居中的唯一方式是,使用上。 这是我的xml: 但是我需要以编程方式进行设置。有人知道我该如何实现这一目标或以其他方式知道吗?我在Google上找到的所有内容都不适用于此帖子。 谢谢! 问题答案: 做这样的事情: 更新: 另一种方法:

  • 问题内容: 我正在尝试创建一个警报应用程序,但我注意到像Sleep Cycle这样的应用程序会在警报响起之前将您的音量设置为最大,即使您的音量非常低。 我已经尝试过使用AVAudioPlayer,而通过MPVolumeView看到的全部是用户必须这样做。有什么方法可以让我无需用户进行操作? 谢谢您的帮助。 如果可以的话请尽快获取代码 问题答案: 您只需要导入MediaPlayer。您可以执行以下操