didSelectViewController 方法没有被调用(带有故事板)

2024-03-21

我有 2 个版本的选项卡式 ios5 应用程序,一个使用情节提要创建,一个使用 xib 文件创建。故事板版本不调用UITabBarControllerDelegate method didSelectViewController(xib 版本是这样)。 (我认为)故事板中缺少了一些东西,但我不知道是什么。提出这个问题的另一种方式可能是——我如何参考UITabBarController故事板实例化的对象?

感谢您的帮助。

编辑:选项卡栏控制器委托已设置:

在 AppDelegate.h 中:

@interface MyAppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (strong, nonatomic) UITabBarController *tabBarController;

在 AppDelegate.m 中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.tabBarController.delegate = self;
    return YES;
}

然后在AppDelegate.m中,委托方法是:

- (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    NSLog(@"Got Here");
}

NSLog 输出永远不会出现。在我看来,问题在于我没有正确引用故事板实例化的选项卡栏控制器对象。 我怎么做?


我有这个问题。

如果您不使用故事板,请设置UITabBarController代表在AppDelegate是要走的路。然而,随着Storyboards, the AppDelegate不知道在哪里tabBarController正在启动。你会想到subclassing the tabBarController并添加委托方法:

(void)tabBarController:(UITabBarController *)tabBarController
   didSelectViewController:(UIViewController *)viewController {

}

...就足够了。但是,令人恼火的是事实并非如此。

我需要知道用户何时按下选项卡按钮。我需要更多地了解这一点,因为我需要知道 viewController ”- (void)viewWillDisappear:(BOOL)animated {}" 方法已运行。

我决定让我的UITabBarController本身的代表。这对我来说似乎很愚蠢,但我做了以下事情......

#import <UIKit/UIKit.h>

@interface PlumbsTabBarController : UITabBarController <UITabBarControllerDelegate>

@end

然后,在我的viewDidLoad方法,写了以下内容:

[self setDelegate:self];

这使得我的标签栏委托方法能够运行。

疯了还是什么?

好的 - 我现在正在编辑这个答案,尽管上面的内容都是正确的,但navigationController正在使用,每个都选择tabBarButton感动了,didSelectViewController当您尝试时,委托方法将会NSLog(@"%@", viewController);只显示您已选择UINavigationController class?

因此,总的解决方案只是增加了更多的复杂性,就是子类化UINavigationController对于每个viewController你想要监控的,(做某事)当tabBarbutton已被触动。

无论如何,它对我有用。而且,如果有人能对上述运球挑剔,他们可能会发现一个有用的方面 - 这对我来说就足够了 - 因为我发现这个网站也非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

didSelectViewController 方法没有被调用(带有故事板) 的相关文章

  • 多个 tableView 单元格中的多个 collectionView

    我有一个tableView其中我有 2 个自定义单元格 在这两个单元格中我有不同的CollectionView 两者的数据源和委托CollectionViews is my ViewController 那么现在我如何检查哪个Collect
  • 在 iPhone 6 和 6 plus 中设置背景图像和图标图像

    如何区分 iPhone 5 和 iPhone 6 和 6 Plus 不同分辨率下的背景图像和图标图像 您必须在图像目录中启用 iOS 8 尺寸 它们在现有项目中默认关闭
  • 在 iOS6 中处理手势识别器

    显然 当你有手势识别器和手势识别器时 iOS 6 会尝试自动处理这种情况 UIButton在同一个地方 用同一个手势被激活 当您想要单击按钮而不是激活手势识别器时 这种新的自动处理可以解决问题 但是产生了一个新问题当您希望手势识别器起作用时
  • 如何复制添加到 StoryBoard 中 ViewController 的 UIView 并保持约束?

    我创建了一个视图 CustomView xib 和一个专用类 CustomView swift 我已通过添加视图并将自定义类设置为 CustomView swift 将其添加到 Storyboard 中的 ViewController 中
  • 应用内购买 - 订阅 - 不基于 Apple ID

    据我所知 如果用户使用应用内购买购买东西 它应该反映在用户拥有的所有设备中 基于登录的苹果ID 但就我而言 我需要用 我们自己的用户名而不是苹果ID 来处理它 也就是说 如果用户在多个设备上登录我们的应用程序 我们需要自己处理订阅 需要澄清
  • 通过iPhone音频插孔读取数据

    我正在寻找一种方法来读取通过 iPhone 的音频插孔从 Arduino 发送的原始数据 我搜索了很多并发现this https github com sanjibahmad Is Headphone Plugged In tree mas
  • Xcode:如何创建出现在另一个视图控制器中的弹出视图控制器

    基本上我想做的是 假设我有一个名为 V1 的视图控制器 它内部有一个常规视图和一个按钮 现在 当您点击该按钮时 我希望该按钮创建一个操作 在同一视图控制器 V1 中弹出另一个名为 V2 的视图控制器 V2 的尺寸会缩小一些 使其不会填满整个
  • 如何使用 RealmSwift 存储字典?

    考虑以下模型 class Person Object dynamic var name let hobbies Dictionary
  • iOS - 使用隐藏字幕的 AVPlayer

    我正在 iOS 上使用 AVPlayer 来使用 closeCaptionDisplayEnabled 属性 显示电影上的字幕或副标题 hls 或 mp4 但标题不显示任何内容 我不知道为什么 您有什么解决方案可以在电影 hls mp4 上
  • 随机数列表 - arc4random

    我想创建一个 0 9 的数字数组并希望它们是随机的 意思是 当用户单击 UIButton 时 它会创建一个由对象 4 5 8 3 6 2 9 1 7 0 组成的 NSMutableArray 当用户再次单击该按钮时 它会生成另一个 0 9
  • 键盘扩展:是否可以继承 iOS 现有键盘的功能和 UI?

    自定义键盘扩展 https developer apple com library ios documentation General Conceptual ExtensibilityPG Keyboard html是 iOS 8 中的一个
  • 如何在 uiview 中添加边框?

    我有一个 uiview 我想在这个 UIVIew 旁边添加一个边框 大约占 UIView 的 75 任何人都可以帮忙解决这个问题吗 我可以找到将边界绘制到外面的解决方案 好吧 不只是可以设置一个小属性来将边框与外部对齐 它向内部对齐绘制 因
  • 关闭所有 React Native 输入上的 autoCapitalize (iOS)

    我的大部分输入仅在 iOS 上自动大写 我知道有自动大写 https facebook github io react native docs textinput html autocapitalize我可以在每个输入上将其设置为 fals
  • Xcode 6 找不到 cocoapods 库

    我正在尝试构建一个使用 CocoaPods 的 Xcode 5 项目 POD 文件如下 target MyProjectName do pod AFNetworking 2 2 1 pod SVProgressHUD 0 9 pod MDH
  • 如何在 UITabBarController 中显示 ViewController?

    我有一个 UITabBarController 所有其他视图控制器都连接到它 现在我想将我的控制器显示为 let storyboard UIStoryboard name Main bundle nil let vc ViewControl
  • UIView 动画取消任何触摸输入?

    我在这里有一个 UIScrollView 当用户滚动到页面时 我在屏幕中间添加显示标签 问题是 当动画进行时 用户无法滚动到下一页 所有用户交互似乎被禁用 直到动画结束 这是我用于显示标签的代码 if scrollView dragging
  • 如何捕获 UITextField 文本的变化?

    我查看了所有类似的问题 它们与我所问的不同 我需要捕捉 UITextField 中实际文本的变化 而不仅仅是编辑状态 当视图加载时 它将成为第一响应者 我需要知道何时输入文本 以便我可以在导航栏中启用 下一步 如果可以的话请帮助我 这确实阻
  • 使用 UIAppearance API 自定义 UIBarButtonSystemItem 的色调颜色

    我知道我可以定制UIBarButtonItem文本通过 setTitleTextAttributes forState 还有一种方法可以自定义UITabBar图标通过 setSelectedImageTintColor 有没有办法自定义色调
  • 如何按月对获取的日期进行分组

    我将数据插入到日期类型的核心数据中 但是当我尝试从数据库中获取数据时 我无法按月对它们进行分组 您可以找到我尝试解决方案的代码 但它不起作用 let groupedDict Dictionary grouping self lessons
  • 如何修复 iOS 11 和 macOS V10.12 Safari 上损坏的变换原点?

    我正在尝试使用 svg 来实现 CSS 动画 我期望 2 个 svg 盒子正在旋转 旋转 transform origin center center 360度 看起来它在 Chrome 和 Firefox 上的表现符合我的预期 但在 ma

随机推荐

  • 大背景图像和屏幕尺寸

    我正在创建一个网站 该网站将使用无法平铺的图像 我需要这张图像覆盖整个背景屏幕 但是 我希望它能够在大型显示器和小型显示器上运行 我应该制作一张大背景图像并使用它缩小它吗background size或者我应该创建不同尺寸的同一图像的多个版
  • 当定义需要 import 语句时,如何扩展现有接口?

    我创建了一个自定义 Knockout 扩展器 但在扩展 Knockout 定义文件提供的现有接口时遇到了问题 扩展器 Numeric ts import as ko from knockout function Extender targe
  • 关于如何以编程方式从 json 文件开始创建自定义 org.apache.spark.sql.types.StructType 架构对象

    我必须使用 json 文件中的信息创建一个自定义 org apache spark sql types StructType 架构对象 json 文件可以是任何内容 所以我在属性文件中对其进行了参数化 属性文件如下所示 ruta al es
  • 来自 Bitbucket 的“Go Get”私人仓库

    所以基本上 我有一个 Openshift 项目 在 Git 推送上 使用 Go get 下载所有库并即时构建项目 因此 我有一些代码不希望人们从我自己的库中看到 为了正确编译 代码需要从 github com 或另一个存储库获取 所以我创建
  • Ant 不可变属性到可变属性

    我有个问题 我正在使用 maven 的 antrun 插件 然后执行下一步 我有文件夹和子文件夹 我不知道什么叫子文件夹及其编号 我用它们的名称对此子文件夹进行存档 子文件夹名称 1 存档名称 1 acp
  • 我应该声明并检查 PHP 中是否存在变量吗?

    我注意到 XAMPP 上启用了严格的错误报告 并且现在出现未定义的索引错误 我只有两个小问题 我还在学习 我知道你不知道have在 PHP 中声明变量 但是声明它们有什么好处吗 如果不是 为什么在我未定义错误的情况下启用严格错误报告时会出现
  • 从字符串生成正则表达式

    我希望从包含数字的字符串生成正则表达式 然后使用它作为模式来搜索相似的字符串 例子 String s Page 3 of 23 如果我将所有数字替换为 d StringBuilder sb new StringBuilder for int
  • 在 JavaScript 中移动鼠标指针

    是否可以使用 JavaScript 移动鼠标 使其位于文本输入内 我不知道如何移动实际渲染的鼠标指针 但是您可以将焦点设置在元素上吗 document getElementById the text input id focus
  • ColdFusion 站点应使用哪种计算机辅助翻译格式?

    我正在创建一个多语言网站 需要支持至少五种不同的语言 包括韩语和中文 站点语言是 ColdFusion 因此 Java 是本地语言 我想让网站尽可能容易地供下一个程序员更新 并让第三方翻译人员使用比挖掘 SQL 数据库更容易的工具 到目前为
  • Node.js 找不到模块 - 干扰 Windows 上的 cygwin

    我正在测试 Bootstrap 框架 来自 Twitter 并尝试在安装 Node js 后在本地构建它 它失败了 因为它找不到 less 模块 我也使用 npm install g less 安装了该模块 C Users geir cod
  • makefile 并行运行目标

    我有以下 makefile 有两条规则 有没有办法并行运行这两个规则 我的意思是最大化 核心能力 我看到这个section https www gnu org software make manual make html Parallel但
  • sql server UTF8问题

    我有一些 utf8 数据 我想批量插入 sql server 2005 我使用的是 CODEPAGE 65001 BULK INSERT bla FROM D bla txt WITH CODEPAGE 65001 FIELDTERMINA
  • ASIHTTPRequest UIWebView加载文档

    使用 AsiHttpRequest 和 UIWebView 查看文档 pdf doc xls 的最佳方式是什么 我尝试了以下操作 但 UIWebView 正在显示 html NSString baseURL http xxxxxx open
  • Unity - GetComponentsInChildren() 返回顺序

    我知道它返回在父级层次结构中找到的给定组件 但是按什么顺序 我需要知道 因为我想用它来初始化我的脚本 并且我必须首先初始化父级 然后再初始化子级 因为较低层次结构的组件使用其直接父级的计算值 GetComponentsInChildren
  • 如何以编程方式从菜单中删除菜单项?

    我正在开发一些 Android 应用程序 并且我有一些菜单代码 menu menu
  • 使用powershell从txt文件中提取带有两个分隔符的列

    我有一个sample txt 文件 Processing Cl Cog u l Cg txt V DM Nv AL Ft He Se Fe Bt L Ey 0 Ct Cu3 我需要将此文件分成 4 个不同的列 并在之前添加新列 输出 csv
  • SignalR:使用 GlobalHost.ConnectionManager 发送数据不起作用

    我有一个这样的中心 public class MessageHubBub Hub public void ServerMethod Clients All sayHi hello GlobalHost ConnectionManager G
  • 无法在React应用程序中导入web3库

    node modules cipher base index js 中的错误 3 16 43 找不到模块 错误 无法解析 C Users Sumana Desktop Web3 web3app node modules cipher bas
  • 基于计数器递增 Python 字典值

    我有一本包含重复值的字典 Deca dict 1 2 506 2 2 506 3 2 506 4 2 600 5 2 600 6 1 650 我使用了 collections Counter 来计算每个集合的数量 decaAdd occur
  • didSelectViewController 方法没有被调用(带有故事板)

    我有 2 个版本的选项卡式 ios5 应用程序 一个使用情节提要创建 一个使用 xib 文件创建 故事板版本不调用UITabBarControllerDelegate method didSelectViewController xib 版