gpt4 book ai didi

ios - Swift - 在 ViewController 之间切换不起作用

转载 作者:行者123 更新时间:2023-11-30 13:11:25 24 4
gpt4 key购买 nike

<小时/>

我有两个ViewControllers 。从我的ViewController推送到我的EffectsMenuViewController工作没有问题。我为此操作使用的代码如下:

 @IBAction func openMenu(sender: AnyObject) {
let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let effectsViewController : EffectsMenuViewContoller = mainStoryboard.instantiateViewControllerWithIdentifier("effectsMenu") as! EffectsMenuViewContoller
presentViewController(effectsViewController, animated: true, completion: nil)
}

我的presented EffectsMenuViewController包含 UITableView与定制TableViewCell称为 CategoryRow 。该类的代码如下所示:

class CategoryRow:UITableViewCell {
@IBOutlet weak var collectionView:UICollectionView!
weak var delegate:CategoryRowDelegate?
}

extension CategoryRow:UICollectionViewDataSource {
/*snipped code */
func collectionView(collectionView: UICollectionView,didSelectItemAtIndexPath indexPath: NSIndexPath) {
ImageObjectSingleton.imageName = DataSource.maskArray.objectAtIndex(indexPath.row) as! String
ImageObjectSingleton.isEyeColorImage = false
ImageObjectSingleton.isMaskImage = true
EffectsMenuViewContoller.callstaticMethod()
} }

在我的EffectsMenuController我有一个名为 calledstaticMethod 的方法由 collectionView(collectionView: UICollectionView,didSelectItemAtIndexPath indexPath: NSIndexPath) 调用:

 static func callstaticMethod() {
let c = EffectsMenuViewContoller()
c.didselectItemAtIndexPath()
}

这个方法只不过是调用我的 didselectItemAtIndexPath应该关闭当前ViewController的方法:

func didselectItemAtIndexPath() {
let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let viewController : ViewController = mainStoryboard.instantiateViewControllerWithIdentifier("view") as! ViewController
self.navigationController?.popViewControllerAnimated(true)
self.navigationController?.pushViewController(viewController, animated: true)
self.dismissViewControllerAnimated(true, completion: nil)
}

正如你所看到的,我尝试了不同类型的代码语句。但它们实际上都不起作用。但是当我使用self.dismissViewControllerAnimated(true, completion: nil)时里面 IBAction -方法,它的工作原理就像我想要的那样,但我真的像上面的代码一样......

有什么想法吗?此致,纳扎尔·梅代罗斯

最佳答案

当呈现 View Controller 时,需要从所呈现的 View Controller 调用dismissViewController方法。

此外,您确定需要一个 View Controller 的静态实例,其作用域位于一个方法中吗?

关于ios - Swift - 在 ViewController 之间切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38688376/

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