【问题标题】:Motion function not working after changing tab in Tabbed Application在选项卡式应用程序中更改选项卡后运动功能不起作用
【发布时间】:2013-06-08 07:37:57
【问题描述】:

我很新。

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

我想拥有一个带有摇动功能的标签,并入

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

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

我确实有以下其他组件

- (BOOL)canBecomeFirstResponder
{
    return YES;
}

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

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

【问题讨论】:

    标签: ios motion-detection


    【解决方案1】:

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

    按照那里的答案建议,实现 UITabBarController 委托 didSelectViewController 并调用视图控制器的 viewDidAppear 方法。

    或者仍然实现委托,只检测选择的视图控制器,如果是FirstViewController,调用方法canBecomeFirstResponder

    例如,如果您已将 FirstViewController 声明为标签栏的属性:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      相关资源
      最近更新 更多