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]