菜鸟教程小白 发表于 2022-12-12 10:28:41

ios - 如何最好地通过 3D Touch 打开所需的 Controller ?


                                            <p><p>我想问一下 3D Touch 的正确实现。例如有 UIViewController,根据被公开应用的数据,它的加载彼此不同。如果像往常一样,它会显示相同的数据,如果在 3D Touch 中,则显示其他数据。我已经通过把<code>NSUserDefaults</code> 保存到一个变量中,也就是说,如果正常启动为假,如果在3D Touch 中为真。我用 <code>NSNotificationCenter</code> 做更多事情。这一切都奏效了,但这不是这项任务的正确实现。我怎样才能做到最好?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>请尝试以下代码以使用 3D 触摸打开详细 View 。</p>

<p>IBOutlet UIButton *btnDetail;</p>

<pre><code>    #pragma mark - Previewing delegate
    - (UIViewController *)previewingContext:(id &lt;UIViewControllerPreviewing&gt;)previewingContext viewControllerForLocation:(CGPoint)location
    {
      UIViewController *detailVC = ;
      detailVC.preferredContentSize = CGSizeMake(0.0, 568.0);
      previewingContext.sourceRect = self.btnDetail.frame;
      return detailVC;
    }

    - (void)previewingContext:(id &lt;UIViewControllerPreviewing&gt;)previewingContext commitViewController:(UIViewController *)viewControllerToCommit{
      ;
    }
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何最好地通过 3D Touch 打开所需的 Controller ?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35270254/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35270254/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何最好地通过 3D Touch 打开所需的 Controller ?