单击Cell swift后如何传递相同的文本视图,按钮和标签?

时间:2015-08-25 05:13:33

标签: ios swift uitableview

我想这样做,以便当用户点击单元格时,它会显示单元格中的所有内容。 TextView,按钮和标签。我怎样才能做到这一点?

以下是代码:

的TableCell:

import UIKit

class TableViewCell: UITableViewCell {

    @IBOutlet weak var textView: UITextView!
    @IBAction func 1Button(sender: AnyObject) {
    }
    @IBAction func 2Button(sender: AnyObject) {
    }
    @IBOutlet weak var counter: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

TableViewController:

import UIKit

let reuseIdentifier = "Cell"

class UserFeedTableViewController: UITableViewController, ComposeViewControllerDelegate {

    private var posts: [PFObject]? {

        didSet {
            tableView.reloadData()

        }

    }



    override func viewDidLoad() {
        super.viewDidLoad()




        Downloader.sharedDownloader.queryForPosts()

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "queryFeeds:", name: queryNotification, object: nil)




    }
    // Notification SEL
    func queryFeeds(notification: NSNotification) {

        posts = notification.object as? [PFObject]

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "postSegue" {

            let nav = segue.destinationViewController as! UINavigationController
            let composeVc = nav.topViewController as! ComposeViewController
            composeVc.delegate = self

        }

        if segue.identifier == "commentsSegue" {

            let vc = segue.destinationViewController as! CommentsViewController
            let cell = sender as! UITableViewCell
            let indexPath = tableView.indexPathForCell(cell)
            let object = posts![indexPath!.row]

            vc.postObject = object

        }

    }
    //dismiss compose vc
    func dismissComposeViewController(ViewController: ComposeViewController) {

        dismissViewControllerAnimated(true, completion: nil)

    }


    func reloadTableViewAfterPosting() {
        dismissViewControllerAnimated(true, completion: nil)
        Downloader.sharedDownloader.queryForPosts()

    }



}


extension ViewController {

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete method implementation.
        // Return the number of rows in the section.

        return posts?.count ?? 0
    }



    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UserFeedTableViewCell

        // Configure the cell...

        if let posts = posts  {

            let object = posts[indexPath.row]
            cell.textView?.text = object["post"] as? String
        }



        return cell
    }

0 个答案:

没有答案