【问题标题】:How to show a UIView on top of UINavigationBar如何在 UINavigationBar 上显示 UIView
【发布时间】:2015-03-10 16:27:06
【问题描述】:

有没有人有任何优雅的解决方案将 UIView 移动到 UINavigationBar 前面?

我希望发生以下情况:

1 - 点击绿色按钮

2 - 绿色按钮和蓝色视图向上滑动到 UINavigationBar

3 - 绿色按钮停留在 UINavigationBar 的顶部

【问题讨论】:

标签: ios objective-c xcode uiview


【解决方案1】:

不是最优雅的解决方案,但我认为您需要从当前视图层次结构中删除按钮并将其添加到导航控制器视图中。

例如

- (void)buttonPress:(UIButton *)sender {

    [UIView animateWithDuration:0.3 animations:^{
        [sender removeFromSuperview];
        [self.navigationController.view addSubview:sender];
        [sender setFrame:CGRectMake(sender.frame.origin.x, self.navigationController.navigationBar.frame.origin.y, sender.frame.size.width, sender.frame.size.height)];
    }];

}

【讨论】:

  • 确实不是最优雅的解决方案,但我设法根据您的建议解决了!
  • 实际上在导航控制层次结构上来回走动时弄乱了,所以我仍然需要解决一些问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-11
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 2022-11-10
相关资源
最近更新 更多