gpt4 book ai didi

Swift:UICollectionView + Custom Segue 会出现问题

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

在以下应用程序中,我使用 UICollectionView。每个单元格的文本(字符串)都是从我的 SQL-Server 下载的。这效果非常好。但不知何故,我的应用程序有时看起来应该是这样,但有时却不是(这种情况发生在模拟器中,以及 native 设备上)。我想这与我在单击设置按钮(右下)时使用的自定义转场有关。

@IBAction func settingsButton(_ sender: UIButton) {
// in order to prevent an exception, you have to add an Identity in Main.storyboard
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

// instantiate view controller by storyboard
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "SettingsViewController") as! SettingsViewController

// custom segue
self.performSegue(withIdentifier: "SegueToRight", sender: sender)

// pass email
nextViewController.email = self.email

// switch view controller
self.present(nextViewController, animated:true, completion:nil)
}

显示右侧:

显示错误:

最佳答案

您的问题可能是由于您使用两种不同的演示方法引起的,即segue和一个 present .

尝试删除self.present(nextViewController, animated:true, completion:nil)performSegue函数已经为您处理了转换。

此外,nextViewController.email = self.email应设置之前performSegue确保数据正确传递到下一个 Controller 。

评论更新

您需要将代码分成两部分。里面@IBAction调用performSegue调用:

@IBAction func settingsButton(_ sender: UIButton) {
// custom segue
self.performSegue(withIdentifier: "SegueToRight", sender: sender)
}

然后覆盖 prepareForSegue:sender: :

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let nextViewController = segue.destination as! SettingsViewController
nextViewController.email = self.email
}

关于Swift:UICollectionView + Custom Segue 会出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970991/

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