如何最好地通过 3D Touch 打开所需的控制器?

How best to open the desired controller via 3D Touch?

我想问一下3D Touch的正确实现。例如有 UIViewController,它根据公开应用程序的数据加载彼此不同。如果像往常一样,它显示相同的数据,如果在 3D Touch 中,则显示其他数据。我做过通过NSUserDefaults保存到一个变量,也就是如果正常启动是false,如果在3D Touch中是true。我用 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];
    }