gpt4 book ai didi

ios - 在状态栏上方添加 subview iOS 7

转载 作者:行者123 更新时间:2023-11-29 03:24:37 35 4
gpt4 key购买 nike

我有一个小矩形 View ,可以从应用程序顶部向下动画。我需要它位于屏幕的最顶部并在状态栏上向下动画,但是动画 View 出现在状态栏下方。有人知道我如何在状态栏上获得它吗?

这是我目前正在做的事情

[self.navigationController.view addSubview:self.headerView];

它工作完美并且位于正确的位置,除了它位于状态栏下方。有什么想法吗?

编辑:我知道这是可能的,因为 snapchat 做到了。

最佳答案

您可以做的一个选择是,当您为您的 headerView 设置动画时,

  1. 截取状态栏的快照
  2. 隐藏状态栏
  3. 在状态栏位置添加快照 View 的 subview
  4. 在快照 View 上做标题 View 动画
  5. 删除快照 View 并再次显示状态栏。

通过这种方式,您可以获得漂亮的动画效果,看起来像是在状态栏上播放。

编辑:我会尝试用伪代码来解释

// 1. take snapshot of the status bar
UIView* snapshotView = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO];

// 2. hide statusbar
_statusBarHidden = YES;
[self setNeedsStatusBarAppearanceUpdate];

// you need to set "View controller-based status bar appearance" option to yes on plist
- (BOOL)prefersStatusBarHidden
{
return _statusBarHidden;
}

// 3. add subview of snapshot view on the statusbar position
CGRect frame = self.view.frame;
frame.height = [[UIApplication sharedApplication] statusBarFrame].size.height;
[self.view addSubView:snapshotView];

// 4. do the header view animation over snapshot view
.. Just do the animation you already were doing

// 5. remove snapshot view and show statusbar again.
[snapshotView removeFromSuperview];

_statusBarHidden = NO;
[self setNeedsStatusBarAppearanceUpdate];

关于ios - 在状态栏上方添加 subview iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624389/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com