我正在使用firebase数据库,并且有一个表视图,显示索引path.row中用户的姓名,年龄,位置和图像。当单元格被单击到用户配置文件时,我将如何显示另一个视图,其中包含用户的更多信息和照片。这是我的tableView的代码。
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userList.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "prefCell", for: indexPath) as! SFPTableViewCell
let user = userList[indexPath.row]
cell.name.text = userList[indexPath.row].name
cell.location.text = userList[indexPath.row].location
if let imageURL = user.image {
cell.imageOne.loadImageUsingCacheWithUrlString(urlString: imageURL)
}
return cell
}
}
答案 0 :(得分:0)
刚刚使用UITableViewDelegate
方法"didSelectRowAtIndexPath"
并使用indexPath将图像发送到其他视图控制器
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let sb = UIStoryboard(name: "Main", bundle: nil)
let detailVC = sb.instantiateViewController(withIdentifier: "ImageVC") as! DetailViewController
detailVC.strImage = self.arrImage[indexPath.row]
self.navigationController?.pushViewController(detailVC, animated: true)
}
在DetailViewController
中取一个变量
var strImage : String = ""
并将此变量赋予UIImagView
imgView.image = UIImage(named: strImage)
答案 1 :(得分:0)
使用代码使用didSelectRowAtIndexPath。
或
使用Storyboard:
第1步:选择tableview单元格。
步骤2:按住Ctrl并单击鼠标并在目标视图中拖动。
第3步:给任何一个segue。
第4步:完成。
答案 2 :(得分:0)
添加以下代码
override func tableView(_ tableView: UITableView, didSelectRowAtindexPath: IndexPath){
let detailVC = storyboard.instantiateViewControllerWithIdentifier("MyDetailVC") as MyDetailVC // get the obect of other VC
detailVC.myImage = <your_image> // assign your image which you wanted to send to other VC.
self.navigationController?.pushViewController(detailVC,animated: true // Push to other VC
}
MyDetailVC.swift
中的
var myImage : UIImage? // Create variable of image type in required VC where you wanted to send data
现在在MyDetailVC.swift
中使用您的图片。
您可以询问任何进一步的查询。