我正在尝试在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说"expected declaration"与 bgImage = UIImageView(image: image)
Image "afternoon"
是一个PNG,我的理解是PNG不需要在XCode 6.1中扩展 .
也尝试了 bgImage.image = UIImage(named: "afternoon")
,但仍然得到:
UPDATE
好的,我已经将代码更新 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)
}
8 回答
由于您已将bgImage指定并链接为IBOutlet,因此无需将其初始化为UIImageView ...而您只需设置图像属性,如
bgImage.image = UIImage(named: "afternoon")
. 运行此代码后,图像显示正常,因为它已使用插座分配 .但是,如果它不是一个插座,并且你没有将它连接到storyboard / xib文件上的UIImageView对象,那么你可以这样如下......
在xcode 8中,您可以直接从选择窗口中选择图像(新)...
您只需要输入 - “图像”,然后您将获得一个建议框,然后从列表中选择 - “图像文字”(参见附图)和
然后点击广场,您将能够看到所有图像(见
第二张附加图片)在你的图片资产中...或从那里选择其他图像 .
好的,让它使用它(以编程方式创建UIImageView):
这个怎么样;
其中image_1在assets文件夹中作为image_1 . png .
这对我有用,因为我使用开关盒来显示图像幻灯片 .
这段代码在错误的地方:
您必须将其放在一个函数中 . 我建议在
viewDidLoad
函数内移动它 .通常,您可以在不在函数内部的类中添加的唯一代码是变量声明,如:
使用快速语法,这对我有用:
在Swift 4中,如果图像返回为零 .
单击右侧的图像(实用程序) - >检查目标成员身份
如果你想按照你在问题中展示的方式做到这一点,这是一种内联方式