lon*_*bow 1 uiimageview ios swift
取决于几个参数我试图在第二个VC上设置一个Image,但不知怎的,它总是返回null?
这是我做的:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetail" {
println("going forth!")
println(self.myButton.selected)
let controller = segue.destinationViewController as? DetailVC
if myButton.selected == true {
var newImage = UIImage(named:"Test1")
var oldImage = controller?.imageView.image
println(oldImage)
oldImage = newImage
} else {
var newImage = UIImage(named:"Test2")
var oldImage = controller?.imageView.image
println(oldImage)
oldImage = newImage
}
} else {
println("roflcopter")
}
}
Run Code Online (Sandbox Code Playgroud)
细节VC基本上没有"没有":
import UIKit
class DetailVC: UIViewController {
@IBOutlet weak var imageView: UIImageView!
var testString:String!
@IBAction func goBacktoMain(segue: UIStoryboardSegue) {
println("going back")
}
override func viewDidLoad() {
super.viewDidLoad()
println("view Did Load")
println(testString)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Run Code Online (Sandbox Code Playgroud)
第二个VC有一个通过Storyboard设置的默认图像,但当我停止使用断点@let控制器时,它会告诉我imageview实际上是null,只有在详细信息vc显示一次后才会设置吗?
€dit:设置字符串并在第二个VC上打印它完全正常
你在哪里设置图像?里面prepareForSegue的UIImageView IBOutlet会不会装.您必须在DetailVC类中声明一个图像变量,如下所示并设置该图像viewDidLoad.
class DetailVC
{
var image:UIImage? = nil
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad()
{
imageView.image = image
}
}
Run Code Online (Sandbox Code Playgroud)
在你的prepareSegue功能中,设置
let controller = segue.destinationViewController as? DetailVC
controller?.image = //Your Image according to conditions.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |