菜鸟教程小白 发表于 2022-12-13 01:02:08

ios - 显示状态栏和提示通知下拉


                                            <p><p>在 iOS 中,如果您从屏幕垂直滑动到屏幕上,您会看到通知屏幕下拉。 </p>

<p>如果您将状态栏设置为隐藏(全屏应用),然后向下滑动,您会得到一个提示下拉“选项卡”,这太棒了! (见下方截图)</p>

<p>是否有显示状态栏,以便用户可以看到时间和他们的服务和电池百分比以及所有内容,然后我们也有提示下拉“选项卡”显示,而不是它只是自动向下滑动整个通知中心?</p>

<p> <img src="/image/2LcTT.png" alt="enter image description here"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我相信没有直接的机制,但可以应用一个技巧来实现这一点。但这同样不会给出您在这里所期望的确切解决方案。但是让我分享一下我的想法。</p>
<p>在 UIViewController 子类中实现 touchBegan 方法并捕获触摸事件的起点。</p>
<blockquote>
<p>-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event</p>
<p>UITouch *touch = ;</p>
<p>CGPoint startPoint = ;</p>
</blockquote>
<p>然后您可以将 <em>y</em> 坐标值与 30/40 像素进行比较(这是应用屏幕检测到通知拉动事件的大约像素高度)</p>
<blockquote>
<p>if(startPoint.y &lt;= 40) {</p>
</blockquote>
<p>现在您可以将 <em>statusBarHidden</em> 属性设置为 <strong>NO</strong></p>
<p>@注意事项:-</p>
<ul>
<li>您需要在触摸事件后稍微延迟设置属性,否则它会立即拉下通知 View 。</li>
<li>只要 statusBar 可见,您的下拉菜单就会消失。</li>
<li>另外你需要在一定的时间间隔后再次隐藏状态栏。</li>
<li>由于此功能应在应用的任何屏幕( View )上运行,您可能需要在 <strong>UIViewController</strong> 上创建一个 <em>Category</em> 以避免在每个类中处理此问题.</li>
<li>您应该小心手势处理,因为您覆盖了 touchesBegan(请参阅开发中心的责任链机制)</li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 显示状态栏和提示通知下拉,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25436948/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25436948/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 显示状态栏和提示通知下拉