菜鸟教程小白 发表于 2022-12-13 15:45:18

objective-c - 通过滑动 UIView 滑出导航以覆盖另一个 UIView


                                            <p><p>在我对这种导航技术的研究中,我发现了 <a href="http://nickharris.wordpress.com/2012/02/05/ios-slide-out-navigation-code/" rel="noreferrer noopener nofollow">this post by Nick Harris</a>我想这是一个好的开始。但是,我想要的与此略有不同。您可以将其视为 iOS 的 <code>Notification Center</code>,您只需从顶部滑动即可显示 <code>view</code>,然后只需向后滑动即可再次隐藏它。就我而言,我希望通过向左滑动手势显示来自屏幕右侧的隐藏 <code>UIView</code> 并通过相同的手势再次隐藏它(这次是向右)。 </p>

<p>我已经设法在我之前的 <a href="https://stackoverflow.com/questions/12000995/sliding-a-uiview-to-partially-overlay-another-uiview" rel="noreferrer noopener nofollow">post</a> 上找到了解决方案关于显示/隐藏 UIView。我想添加的一件事是滑动手势。 </p>

<p>我不想像 Nick Harris 所做的那样调整我的应用程序委托(delegate)来执行此操作。因此,如果有人对我如何做到这一点有任何想法/代码示例,我将不胜感激。 </p>

<p>揭示一些亮点:)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以通过向左滑动手势显示来自屏幕右侧的隐藏 UIView,也可以通过相同手势再次隐藏它(这次是向右)。添加过渡。</p>

<p>在 .h 文件中添加 BOOL didNotSwipe 在 .m 文件 viewDidLoad 方法中添加其值 didNotSwipe = TRUE</p>

<p>为您的 self.view 添加具有不同选择器的左右方向的滑动手势。 </p>

<pre><code> UISwipeGestureRecognizer *recognizer;
recognizer = [ initWithTarget:self action:@selector(swipeRight:)];
;
[ addGestureRecognizer:recognizer];
;

UISwipeGestureRecognizer *recognizer1;
recognizer1 = [ initWithTarget:self action:@selector(swipeleft:)];
;
[ addGestureRecognizer:recognizer1];
;
</code></pre>

<p>当向左滑动时调用此方法:</p>

<pre><code> -(void)swipeleft:(UISwipeGestureRecognizer *)swipeGesture
{
   if (didNotSwipe) {
   didNotSwipe = FALSE;
   CATransition *animation = ;
   ;
   ;
   ;
   ;
   [animation setTimingFunction:
   ];
   ;
   ;
   //;
   }
}
</code></pre>

<p>当向右滑动此方法时:</p>

<pre><code> -(void)swipeRight:(UISwipeGestureRecognizer *)swipeGesture
{
   if(!didNotSwipe){
   didNotSwipe = TRUE;
   CATransition *animation = ;
   ;
   ;
   ;
   ;
   [animation setTimingFunction:
   ];
   ;
   ;
   }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于objective-c - 通过滑动 UIView 滑出导航以覆盖另一个 UIView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12066200/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12066200/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - 通过滑动 UIView 滑出导航以覆盖另一个 UIView