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



我想问一下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];
    }

最新更新