Ios 3D触控快速动作
我正试图在应用程序的图标上实现一个3D触控的快速动作,一些非常奇怪的事情正在发生 我正在做的图标快速操作应该是使用根视图控制器打开应用程序,隐藏一些视图,显示其他视图并检查更新。一切正常,直到我转到另一个视图控制器,回到主视图控制器,按下主视图按钮并尝试快速执行相同的操作 如果我移动到另一个视图控制器,回到主视图控制器,并尝试快速操作,视图将不再隐藏/取消隐藏,但检查更新方法正常工作。此外,正在调用隐藏/取消隐藏的代码,但它不会生效 尝试使用PerformMonMainThread执行隐藏/取消隐藏方法,尝试在主线程上调度该方法,但出现延迟,结果无效 AppDelegate:Ios 3D触控快速动作,ios,objective-c,xcode,3dtouch,Ios,Objective C,Xcode,3dtouch,我正试图在应用程序的图标上实现一个3D触控的快速动作,一些非常奇怪的事情正在发生 我正在做的图标快速操作应该是使用根视图控制器打开应用程序,隐藏一些视图,显示其他视图并检查更新。一切正常,直到我转到另一个视图控制器,回到主视图控制器,按下主视图按钮并尝试快速执行相同的操作 如果我移动到另一个视图控制器,回到主视图控制器,并尝试快速操作,视图将不再隐藏/取消隐藏,但检查更新方法正常工作。此外,正在调用隐藏/取消隐藏的代码,但它不会生效 尝试使用PerformMonMainThread执行隐藏/取消
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
{
if ([shortcutItem.type isEqualToString:@"com.systems"])
{
self.shortcutAction = kShortcutActionSystems;
}
}
主视图控制器:
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(appBecameActive)
name:UIApplicationDidBecomeActiveNotification object:nil];
}
- (void)appBecameActive
{
if ([appDelegate.shortcutAction isEqualToString:kShortcutActionUpdates])
{
if (authenticated)
{
[self showUpdates:nil];
[self checkForUpdates:nil];
}
else
{
[self showUpdates:nil];
}
}
}
checkForUpdates:始终被调用并始终执行请求。
showUpdates:始终被调用,但如果我移动到另一个视图控制器并返回,则隐藏/取消隐藏部分不起作用
编辑:
在showUpdates中:我调用另一个方法:
- (IBAction)showUpdates:(id)sender
{
if (authenticated)
{
//[self showUpdatesAuthenticatedView];
[self performSelectorOnMainThread:@selector(showUpdatesAuthenticatedView) withObject:nil waitUntilDone:NO];
- (void)showUpdatesAuthenticatedView
{
_updatesTableView.dataSource = self;
[_updatesTableView reloadData];
_updatesIndicator.hidden = NO;
_systemsIndicator.hidden = YES;
_updatesTableView.hidden = NO;
_backTableView.hidden = NO;
_checkUpdatesOutlet.hidden = NO;
_systemTableView.hidden = YES;
_loginAskView.hidden = YES;
}
隐藏/取消隐藏代码在哪里oI添加了隐藏方法。请发布showUpdates方法。showUpdateAuthenticatedView如何调用?我尝试调用showUpdates:在主线程上,使用dispatch,然后在主线程和dispatch主队列上也调用showUpdateAuthenticatedView,仍然没有任何结果