我很新。
我正在开发一个选项卡式应用程序。
我想拥有一个带有摇动功能的标签,并入
- (void)motionBeganUIEventSubtype)motion withEventUIEvent *)event
{
if (event.subtype == UIEventSubtypeMotionShake)
{
NSLog(@"shook");
}
}
这工作得很好,直到我从这个 FirstViewController 切换到另一个然后回来。一旦我返回 FirstViewController,shake 功能似乎根本不起作用。有什么想法吗?
我确实有以下其他组件
- (BOOL)canBecomeFirstResponder
{
return YES;
}
- (void)viewDidAppearBOOL)animated
{
[self canBecomeFirstResponder];
[super viewDidAppear:animated];
}
-(void)viewWillDisappearBOOL)animated
{
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
Best Answer-推荐答案 strong>
似乎每次在选项卡之间切换时都不会调用 viewDidAppear:viewDidAppear for tabbar based apps
按照那里的答案建议,实现 UITabBarController 委托(delegate) didSelectViewController 并调用 View Controller 的 viewDidAppear 方法。
或者仍然实现委托(delegate),只检测选择的 View Controller ,如果是FirstViewController,调用方法canBecomeFirstResponder。
例如,如果您已将 FirstViewController 声明为标签栏的属性:
- (void)tabBarControllerUITabBarController *)tabBarController didSelectViewControllerUIViewController *)viewController{
if ([viewController isKindOfClass:[FirstViewController class]]) {
[viewController canBecomeFirstResponder];
}
}
关于ios - 在选项卡式应用程序中更改选项卡后运动功能不起作用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16997254/
|