- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有搜索栏的表格 View 。搜索栏返回用户名包含搜索栏中文本的 PFUser。该部分工作正常,并且获取的用户显示在 TableView 中。当用户点击表格 View 单元格时,我想转到另一个 View Controller ,其中包含用户点击的已发布的图像表。我设置了 segue,下面是我的代码:
//usersSearched contains all the PFUsers whose usernames match the text in search bar
var usersSearched = [PFObject]()
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// showImages is the segue triggered when cell is tapped
if segue.identifier == "showImages" {
let pointInTable: CGPoint = sender!.convertPoint(sender!.bounds.origin, toView: searchResultTable)
let cellIndexPath = searchResultTable.indexPathForRowAtPoint(pointInTable)
let showImages = segue.destinationViewController as! ShowImagesViewController
let userSelected = usersSearched[cellIndexPath!.row]
let getImagesQuery = PFQuery(className: "allImages")
getImagesQuery.whereKey("userId", equalTo: userSelected["userId"]!)
getImagesQuery.findObjectsInBackgroundWithBlock { (posts, error) -> Void in
if let posts = posts {
showImages.pictureFile.removeAll(keepCapacity: true)
for post in posts {
if let file = post["imageFile"] as? PFFile {
showImages.pictureFile.append(file)
} else {
let replacementImageData = UIImageJPEGRepresentation(UIImage(named: "whiteBackground.jpg")!, 0.8)
let replacementImageFile = PFFile(name: "replacementImageFile.jpeg", data: replacementImageData!)
showImages.pictureFile.append(replacementImageFile)
}
}
}
}
}
以上代码来自包含搜索栏和表格 View 的 View Controller
下面是我显示图像的 View Controller 的代码:
var pictureFile = [PFFile]()
@IBOutlet var imageTableView: UITableView!
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return pictureFile.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("imageCell") as! imageTableViewCell
pictureFile[indexPath.row].getDataInBackgroundWithBlock { (fileData, error) -> Void in
if let downloadedImage = UIImage(data: fileData!) {
cell.imageHere.image = downloadedImage
}
}
return cell
}
所以我的问题是出现的图像不属于点击的 PFUser。 View Controller 上自动提供了展开序列,该 View Controller 使用导航栏上的典型后退按钮显示图像。当我单击它时,它确实返回到搜索 Controller ,但是,当我在搜索栏中键入内容再次搜索时,它要么不返回任何内容,要么返回不包含搜索栏文本的 PFUser。我尽力解释一切,我知道这听起来太令人困惑,但请帮忙!谢谢
最佳答案
我猜您知道如何将图像放入 tableViewController 中。如果没有,请查看如何制作 tableViewCellClass。
您将需要使用 didSelectRowAtIndexPath (这将检测用户点击了哪个单元格)。在获取用户的 tableView 中,您不需要拉取任何图像数据...这将在您填充图像 tableVC 时发生。
// Delete any text within < > and replace with your own code
var selectedCellText = ""
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// This gets the textLabel (in your case, the username) of the selected cell
let cellIndexPath = tableView.indexPathForSelectedRow!
let selectedCell = tableView.cellForRowAtIndexPath(cellIndexPath)! as UITableViewCell
// Here you can add any details before you go to the next viewController, such as sending over the username of the selected user to the next viewController
// This sets the variable above to the username, you will use it in prepare for segue
selectedCellText = selectedCell.textLabel!.text!
self.performSegueWithIdentifier("< identifier >", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let destinationVC : < viewController that you want to go to > = segue.destinationViewController as! < viewController that you want to go to >
// destVC.username refers to a variable that has to be created in the next view controller. Once you present the next VC, you can check to make sure that "username" = < a username available in the database > and load that user's images
destinationVC.username = selectedCellText
}
此时,当用户点击 tableView Cell 时,将出现下一个表格,您可以将图像加载到该 tableView 的单元格中
关于swift - segue 将数据从一个 tableviewcontroller 解析到另一个 tableviewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990519/
在我正在处理的当前项目中,我需要在 View 之间传输变量。我成功地将变量从 tableviewcontroller 传输到 UIviewcontroller,如下所示。 if segue.ident
我在将数据从 TableViewController 传递到嵌入 Container View 中的另一个 TableViewController 时遇到问题。当我在 prepareForSegue
我看过但没有找到合理的答案。我有第一个 TableViewController 可以容纳 4 行,当用户点击一行(导航层次结构)时,我想传递给第二个 tableViewController 一个字符串
我有一个正在创建的表单 此表单填充了用户输入的文本字段。回答完所有问题后,会弹出一个按钮进行保存。 我在让此 tableviewcontroller 将数据传递给新的 tableviewcontrol
我有一个带有搜索栏的表格 View 。搜索栏返回用户名包含搜索栏中文本的 PFUser。该部分工作正常,并且获取的用户显示在 TableView 中。当用户点击表格 View 单元格时,我想转到另一个
我正在开发一个基于日期的应用程序。我正在尝试获取从一个 TableViewController 传递到另一个 TableViewController 的信息。 这是一个基于通知的应用程序,可以提醒用户
我正在尝试从一个 TableViewController 中选择一个详细信息披露按钮(或一行)并转到另一个 TableViewController,而不将任何数据从第一个 TableViewContr
我正在尝试通过委托(delegate)将 TableView Controller B 中的图标和名称传递给 View Controller A。 为了简单起见,向用户展示了 ViewControll
我一直在尝试将一些数据(String)从TableViewController传递到嵌入在容器。 在 MainTableViewController 中我有以下代码: let vc = SecondT
这个问题已经有答案了: Passing data between view controllers (44 个回答) 已关闭 6 年前。 我有一个UITableViewController在列表中显示
据我了解,我无法使用 socket 连接将单元格中的按钮连接到我的 TableViewController。 不过,我可以使用操作连接将单元格中的按钮连接到我的 TableView。这是我巨大问题的根
我一直在努力切换 viewController。 我得到了以下 Storyboard: 左上角的 VC 是登录 VC,它通过模态 Segue 将 View 推送到 MainViewController
我有一个嵌入在 UINavigationController 中的 UITableView。我在 Storyboard中设置了一个 rightBarButtonItem 。如果我以正常方式继续,一切都
当detailText大于3行时,tableViewCell的标题标签总是被切掉,而detailText仅部分显示。我已设置 rowHeight 和 estimatedRowHeight,但结果保持不
我有以下问题: 我有一个应用程序,它使用两个 tableViewController。第一个 TableViewController 列表 struct Task{ let type: Stri
class SelectionBoxViewController: UITableViewController,UISearchBarDelegate { var searchbar = UI
我是 swift 的初学者,但我在 HTML、CSS 和一些 Java 方面确实有不错的背景。我创建这个帐户实际上只是为了问这个问题,所以我会开门见山。 我真的很喜欢 swift,但我真的花了一周的时
有没有办法将statusbar lightcontent颜色设置为UITableViewController? 好像没有这个功能 override open var preferredStatusBa
场景 |第一个单元 | |第二个细胞||开关 || | |第三单元 ||文本字段 | 我创建了一个包含三个不同类的动态表格 View :SecondTableCell(其中有一个开关的导出)和Thir
我正在将图像从 RESTApi 加载到 Netflix(例如 ScrollView)中。 func collectionView(_ collectionView: UICollectionView,
我是一名优秀的程序员,十分优秀!