我有一个隐藏的单元格内的按钮(PFQueryTableViewController),当用户执行我以编程方式调用的某个segue时,我想取消隐藏它。
当用户点击单元格时,它会切换到一个显示单元格全屏内容的视图控制器...我希望按钮在调用segue时取消隐藏此单元格,以便当用户返回到表格时他们可以在他们刚刚拍摄的细胞上看到细胞。
我该怎么做?
问题后编辑:
在cellRowForIndexPath中我对按钮
有以下内容cell.myButton.tag = indexPath.row
cell.myButton.addTarget(self, action: "pressed:", forControlEvents: UIControlEvents.TouchUpInside)
cell.myButton.hidden = true
segue本身将来自单元格(存储在Parse后端)的信息从AllPostsTableViewController传递到FullPostViewController。这个代码就是这个(我会在这里调用unhide吗?):
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("showFullPost", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showFullPost" {
let indexPath = self.tableView.indexPathForSelectedRow
let fullPostVC = segue.destinationViewController as! FullPostViewController
let object = self.objectAtIndexPath(indexPath)
fullPostVC.post = object?.objectForKey("postContent") as? String
let likeCount = object!.objectForKey("likedBy")!.count
fullPostVC.likesCounted = String(likeCount)
self.tableView.deselectRowAtIndexPath(indexPath!, animated: true)
}
}
答案 0 :(得分:0)
(彻底编辑问题后彻底编辑答案)
下面是一种可能的解决方案。
由于你提到表格单元格(每个包含一个按钮;我假设UIButton
),我假设你用UITableViewCell
个对象填充表格视图单元格;一些花哨的子类到后者。在这堂课中:
@IBOutlet
作为此课程中的媒体资源。setSelected(...)
(将在segue之前),请重载方法UITableViewCell
以取消隐藏按钮因此,在你的UITableViewCell
子类中,你应该能够做到这一点:
// ...TableViewCell.swift
Import UIKit
// ...
class ...TableViewCell: UITableViewCell {
// Properties
@IBOutlet weak var button: UIButton!
// button contained in UITableViewCell
// ...
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// If table cell is selected (after which segue will follow),
// un-hide button.
if (selected) {
button.hidden = false
}
}
}
希望这会实现你的目标。