gpt4 book ai didi

ios - 在选项卡式应用程序中更改选项卡后运动功能不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:43 25 4
gpt4 key购买 nike

我很新。

我正在开发一个选项卡式应用程序。

我想合并其中一个具有摇动功能的选项卡

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (event.subtype == UIEventSubtypeMotionShake)
{
NSLog(@"shook");
}
}

这工作得很好,直到我从这个 FirstViewController 切换到另一个然后回来。一旦我返回到 FirstViewController,摇动功能似乎根本不起作用。有什么想法吗?

我还有下面的其他组件

- (BOOL)canBecomeFirstResponder
{
return YES;
}

- (void)viewDidAppear:(BOOL)animated
{
[self canBecomeFirstResponder];
[super viewDidAppear:animated];
}

-(void)viewWillDisappear:(BOOL)animated
{
[self resignFirstResponder];
[super viewWillDisappear:animated];
}

最佳答案

似乎每次在选项卡之间切换时都不会调用 viewDidAppear:viewDidAppear for tabbar based apps

正如那里的答案所建议的那样,实现 UITabBarController 委托(delegate) didSelectViewController 并调用 View Controller 的 viewDidAppear 方法。

或者仍然实现委托(delegate),只检测所选的 View Controller ,如果它是 FirstViewController,则调用方法canBecomeFirstResponder

例如,如果您已将 FirstViewController 声明为选项卡栏的属性:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if ([viewController isKindOfClass:[FirstViewController class]]) {
[viewController canBecomeFirstResponder];
}
}

关于ios - 在选项卡式应用程序中更改选项卡后运动功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997254/

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