gpt4 book ai didi

ios - Swift - 表格 View 黑屏?

转载 作者:行者123 更新时间:2023-11-28 09:05:09 24 4
gpt4 key购买 nike

我试图在用户与 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com