gpt4 book ai didi

ios - 检查哪个 UIViewController 我的自定义按钮类在没有 Storyboard 的情况下

转载 作者:行者123 更新时间:2023-11-28 21:55:21 26 4
gpt4 key购买 nike

我已经为我的 UIBarButtonItem 创建了一个自定义类 (refreshIndicator.m)。这个按钮将出现在许多不同的 View Controller 上,所有 View Controller 都是从我的 MainViewController/NavigationController 推送的。

我想知道是否有一种方法可以简单地在我的 UIBarButtonItem 自定义类中完成我的任务,而不是将 socket 拖到 iPhone Storyboard然后 iPad Storyboard的每个 ViewController.m 文件上。我环顾四周,但我还没有找到答案,

我需要做的就是检查存在哪个 UIViewController,检查页面的最后一次刷新时间,然后根据该时间为 UIBarButtonItem 设置图像。 (虽然我已经弄清楚了这部分,除非有人有更好的建议)。如何检查自定义按钮类中的当前 UIViewController?这可能吗?

最佳答案

它是否需要知道它在哪个 View Controller 上才能知道它被按下了 vc?如果是这种情况,请使用按钮的继承目标和操作属性。在每个包含按钮实例的 vc 上,在 View 中加载:

self.myRefreshIndicator.target = self;
self.myRefreshIndicator.action = @selector(myRefreshIndicatorTapped:);

- (void)myRefreshIndicatorTapped:(id)sender {
// do whatever
}

更一般地说,最好了解从 vc 流向 View 的模型,以及从 View 流向用户操作的知识。在该原则下,您的自定义按钮可以有如下方法:

- (void)timeIntervalSinceLastRefresh:(NSTimeInterval)seconds {
// change how I look based on how many seconds are passed
}

还有你的风投:

NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:self.lastRefreshDate];
[self.myRefreshIndicator timeIntervalSinceLastRefresh:interval];

如果您真的必须从 subview 转到 View Controller ,您可以按照a few of the answers here 中的建议遵循响应者链。 (但我会竭尽全力避免这种事情)。

关于ios - 检查哪个 UIViewController 我的自定义按钮类在没有 Storyboard 的情况下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26788535/

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