ios - Swift - 表格 View 黑屏?

标签 ios swift uitableview

我试图在用户与 ActivityViewController 完成共享后呈现 TableViewController。这是我的方法:

 @IBAction func share(sender: UIBarButtonItem) {
        var   memeedimage = generateMemedImage()

        let activityViewController = UIActivityViewController(activityItems:[memeedimage] , applicationActivities: nil)
        presentViewController(activityViewController, animated: true, completion: nil)

        activityViewController.completionWithItemsHandler = {
            (activity, success, returneditems, error) in
            println("Activity: \(activity) Success: \(success) Items: \(returneditems) Error: \(error)")
            self.save()
            activityViewController.dismissViewControllerAnimated(true, completion: nil)


            let memevc:MemeTableViewController  = MemeTableViewController()
            self.presentViewController(memevc, animated: true, completion: nil)
        }

我已经关闭了 activityviewcontroller 并且 self.presentviewcontroller 指的是呈现 activityViewController 的 viewthatcontroller。但是,一旦用户完成共享,我就会看到黑屏。

这是为什么?我相信这是因为我的 tableview 没有正确加载。

这是我的 MemeTableViewController 代码:

import UIKit

class MemeTableViewController : UIViewController,UITableViewDelegate,UITableViewDataSource
{
    var memesz: [MemeObject]!

    @IBOutlet var tableView: UITableView!

    override func viewWillAppear(animated: Bool) {            
            super.viewWillAppear(animated)
            let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            memesz = appDelegate.memes
            //tableView.reloadData()
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.hidesBarsOnSwipe = true
        navigationController?.hidesBarsOnTap = true            
    }

    //reserves the number of rows needed to display the image
       func tableView(tableView : UITableView, numberOfRowsInSection section : Int)->Int
       {
            println("ARE YOU SERIOUS")
            return memesz.count
        }

    //Reserves the row to be dequeued for display
     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {            
        let cell:TableViewzCell = tableView.dequeueReusableCellWithIdentifier("MemesCell", forIndexPath: indexPath) as! TableViewzCell
        let memezrow =  memesz[indexPath.row]
        cell.label1.text = memezrow.textFieldtop
        cell.label2.text = memezrow.textFieldbottom
        cell.imageview.image = memezrow.memedImage
        println("Why is this not being called")

            return cell
    }

    //Method to do something when the row is selected
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let detailController = self.storyboard!.instantiateViewControllerWithIdentifier("FullScreenMeme") as! FullScreenMeme
        detailController.meme = memesz[indexPath.row]
        self.navigationController!.pushViewController(detailController, animated: true)
        println("This too")
    }
}

最佳答案

试试这个,

@IBAction func share(sender: UIBarButtonItem) {
    var   memeedimage = generateMemedImage()


    let activityViewController = UIActivityViewController(activityItems:[memeedimage] , applicationActivities: nil)
    presentViewController(activityViewController, animated: true, completion: nil)


    activityViewController.completionWithItemsHandler = {
        (activity, success, returneditems, error) in
        println("Activity: \(activity) Success: \(success) Items: \(returneditems) Error: \(error)")
        self.save()
        activityViewController.dismissViewControllerAnimated(true, completion: { () -> Void in

        let memevc:MemeTableViewController  = MemeTableViewController()
        self.presentViewController(memevc, animated: true, completion: nil)

    })
}

关于ios - Swift - 表格 View 黑屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30994759/

相关文章:

javascript - 想要在激活 iOS 键盘时调整浏览器视口(viewport)的大小

ios - "account"如何与 AWS Identity Token Vending Machine 一起使用?

ios - Resize UIWebView on webViewDidFinishDownload 困境

ios - 在 NSUserDefaults 中保存一个元组

iphone - 如何默认选择 UITableViewCell?

objective-c - Objective-C : How do I add custom table view cells to a subview of a UIViewController

ios - 在 Swift 2.3 中使用 swift 3 框架

ios - 将 UITableViewCell 中的 UIButton 点击​​手势绑定(bind)到 viewModel 中的可观察对象

ios - 如何在不按后退按钮的情况下从一个单元格导航到一行中的下一个单元格

uitableview - 在iOS5 Storyboard上将具有静态和动态内容的UITableView分组