我想问一下3D Touch的正确实现。例如,有UIViewController,它根据公开应用程序的数据加载彼此不同。如果像往常一样,它显示相同的数据,如果在 3D Touch 中,则显示另一个。我已经完成了NSUserDefaults
保持一个变量,也就是说,如果正常开始为假,如果在 3D Touch 中为真。我用NSNotificationCenter
做更多的事情.这一切都奏效了,但这不是这项任务的正确实施。我该如何最好地做到这一点?
请尝试使用以下代码使用 3D 触摸打开详细信息视图。
IBOutlet UIButton *btnDetail;
#pragma mark - Previewing delegate
- (UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
{
UIViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"];
detailVC.preferredContentSize = CGSizeMake(0.0, 568.0);
previewingContext.sourceRect = self.btnDetail.frame;
return detailVC;
}
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit{
[self showViewController:viewControllerToCommit sender:self];
}