【发布时间】:2014-10-20 00:43:41
【问题描述】:
我正在使用 Swift 编写我的第一个 iOS 应用程序(仅限 iPhone)。主应用程序视图应允许用户从照片库中选择图像。
我找到了以下 ViewController.swift 的示例代码:
class ViewController: UIImagePickerController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
var imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum
imagePickerController.allowsEditing = true
self.presentViewController(imagePickerController, animated: true, completion: { imageP in
})
}
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!) {
let selectedImage : UIImage = image
println(selectedImage)
}
}
并具有以下视图控制器场景 -
View Controller
- Top Layout Guide
- Bottom Layout Guide
- View
- Image View
First Responder
Exit
但是当我启动应用程序时,只显示黑屏。我做错了什么? 我发现的另一个 sample code 在 Objective-C 中,这对我没有帮助。
【问题讨论】:
-
一个问题可能是 didSselectRowAtIndePath 是 UITableViewDelegate 的委托调用。根据您的场景布局和代码,这里没有使用 tableview,并且您的 ViewController 不是 UITableViewDelegate。也许 start 将是一个可以工作的空白项目,并添加一个按钮并从按钮按下触发您的代码。
-
@LA_ 我不明白为什么这里会涉及到tableView函数?
-
它工作正常并经过良好测试只需转到:stackoverflow.com/questions/41717115/…
-
请看这个,theswiftdev.com/…
标签: ios swift uiimagepickercontroller