相关疑难解决方法(0)

如何正确地将数据从一个Tab转换到另一个Tab

故事板图像

我有一个标签栏控制器,它是初始视图控制器,PFLoginViewController如果用户没有登录,它也有一个小工具.登录/注册流程正常.

这两个标签是1.a UICollectionView,我IntroVC将从现在开始参考2. UITableView我将称之为FeedVC

当用户点击照片时IntroVC,会触发显示segue(通过prepareForSegue),显示第3个屏幕(UIView),这在技术上不是标签.我SelectVC将从现在开始称之为.

注意:所有这些屏幕也嵌入(ded)在导航控制器中.

所述SelectVC显示相片,并有一个UIButton,用户可以按下触发一个显示赛格瑞身心SEGUE到图像推入FeedVC.我创建Unwind segue的原因是因为没有它,图像会进入FeedVC(第二个选项卡),但第一个选项卡仍然会突出显示.

我用Unwind segue解决了这个问题,但是我注意到我遇到了一个问题,在选择之后,当我按下第一个选项卡(Intro VC)时,导航栏有一个后退按钮,我使用SelectVC按钮推的次数越多图像,我必须按回的次数越多IntroVC.我对如何解决这个问题感到非常困惑.很明显,我没有正确地连接流程,而且似乎IntroVC是多次生成?

当我在模拟器中浏览segues时,我在控制台中收到以下消息:

Nested pop animation can result in corrupted navigation bar

Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

相关代码如下.

IntroVC.swift

@IBAction func unwindToIntroView(segue: UIStoryboardSegue) {
    self.tabBarController!.selectedIndex = 1


override func prepareForSegue(segue: …
Run Code Online (Sandbox Code Playgroud)

uitabbarcontroller ios segue uistoryboardsegue unwind-segue

12
推荐指数
2
解决办法
1453
查看次数

在swift中将数据从一个选项卡控制器传递到另一个

我的应用程序有三个与tabBar三个tab关联的viewController.我想从第一个选项卡切换到第三个选项卡,并将一些数据从第一个视图控制器传递到第三个视图控制器.我不能用segue来做,因为segue在所选标签内创建导航.那不是我的要求.我想在tabBar中切换选项卡并传递一些数据而不进行任何导航.我该怎么做 ?

uiviewcontroller uitabbar ios segue swift

8
推荐指数
2
解决办法
7414
查看次数

设置委托以将数据从一个选项卡传递到另一个选项卡

我正在使用:XCode 8.2,Swift 3.0,iOS 10.2,iPhone7。我有一个Tab Bar Controller孩子View Controllers

我试图将数据从一个视图控制器发送到另一个。

我已经在这里这里查看了如何执行此操作,但是第一个链接并不是我想要的,因为他谈论的是Storyboard segue,这似乎与在选项卡之间移动时使用的segue类型不同。

我尝试在其中发送数据的标签:

protocol SendResultsDelegate {
    func sendResults(data: String)
}

class SendingVC {
    ....
    if delegate != nil {
        let data = // some string here
        delegate?.sendResults(data: data!)

    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试在其中接收数据并打印出来的标签:

import UIKit

class ResultsViewController: UIViewController, SendResultsDelegate {

    @IBOutlet weak var resultsTextField: UITextView!

    func sendResults(data: String) {
        resultsTextField.text = data
    }
}
Run Code Online (Sandbox Code Playgroud)

而且我不确定这是否正确,但是...我的Tab Bar Controller也有一个自定义类:

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { …
Run Code Online (Sandbox Code Playgroud)

xcode delegates ios swift

0
推荐指数
1
解决办法
927
查看次数