在选项卡式应用程序中更改选项卡后运动功能不起作用
Posted
技术标签:
【中文标题】在选项卡式应用程序中更改选项卡后运动功能不起作用【英文标题】: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];
【问题讨论】:
【参考方案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];
【讨论】:
以上是关于在选项卡式应用程序中更改选项卡后运动功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章