当前位置: 首页 > 面试题库 >

快捷标签栏视图prepareforsegue

东方和惬
2023-03-14
问题内容

在VC1(集合视图)中,这是我的prepareforsegue代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let segue = segue.destinationViewController as TabBarViewController


    var selectedIndex = self.collectionView.indexPathForCell(sender as UICollectionViewCell)

    segue.selectedIndexPassing = selectedIndex?.row

}

当我进入VC2(它是TabBarViewController)时,我println()selectedIndexPassing看看返回了什么。它正确返回。然后,在VC2中,我将此调用prepareforsegue转到实际的视图控制器或选项卡栏中的第一个按钮:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var segue = segue.destinationViewController as PlayerFromRosterViewController
    segue.selectedIndexPassingForDisplay = 1
}

但是,当我selectedIndexPassingForDisplay在VC3(PlayerFromRosterViewController)中使用println()时,结果为零。为什么变量不从Tab
Bar导航控制器传递到VC3,又是第一个Tab Bar按钮视图。


问题答案:

您是否检查prepareForSegue过TabBarController中的是否曾经被调用?

永远不会调用它,因为a
UITabBarController及其子视图控制器之间的连接不是情节提要。您应该UITabBarController通过viewControllers在所需索引处访问viewController的集合来直接从viewController获得对其的引用。

var tabBarController = segue.destination as UITabBarController
var destinationViewController = tabBarController.viewControllers[0] as YourViewController // or whatever tab index you're trying to access
destination.property = "some value"


 类似资料:
  • 本功能是响应大家需求,后期加上的,其实本人在公司项目或者个人项目中是不太使用该功能的。以前那些传统后台框架往往会包含此功能,由于以前的后台项目大部分都是多页面的形式,所以标签栏导航功能还是具有一定意义的,大部分都是基于 iframe 的方式实现的。 但随着时代的发展,现在的后台项目几乎都是 spa(single page web application 单页面开发),再使用以前的方案来实现标签导航

  • 问题内容: 我不知道为什么我不能只做+ =“(x)” 错误:二进制运算符’+ =’无法应用于类型为’String?’的操作数 和“字符串” 我希望它在用户每次选择“是”时增加1。现在,显然它只是停留在1。 问题答案: 您可以尝试访问badgeValue并将其转换为Integer,如下所示: 迅捷2 Swift 3或更高版本 要删除徽章,只需将nil分配给重写viewDidAppear方法的badg

  • 标签栏是一种特殊情况的工具栏,它包含图标(或者是带有文案的图标),而不是普通的文本,并且和标签页一起使用。 标签栏布局 标签栏和工具栏基本一致,但是它有额外的"tabbar"类: <div class="toolbar tabbar"> <div class="toolbar-inner"> <a href="#tab1" class="tab-link active">

  • 描述 (Description) 单个选项卡可用于在具有自己的导航和布局的视图之间切换。 例子 (Example) 以下示例演示了Framework7中标签栏中交换机视图的使用 - <!DOCTYPE html> <html> <head> <meta name = "viewport" content = "width = device-width, initial-scale

  • 引入 import { createApp } from 'vue'; import { Tabbar, TabbarItem } from 'vant'; const app = createApp(); app.use(Tabbar); app.use(TabbarItem); 代码演示 基础用法 v-model 默认绑定选中标签的索引值,通过修改 v-model 即可切换选中的标签。 <

  • import { Tab,TabItem } from 'feui'; components: { [Tab.name]: Tab, [TabItem.name]: TabItem, } 代码演示 基础用法 <fe-tab> <fe-tabitem selected @on-item-click="onItemClick">微信支付</fe-tabitem> <fe