首先添加一个UIView,甚至是导航栏

2024-03-16

我想在任何其他视图(甚至导航栏)上方显示一种“弹出”视图,如下所示:

  • 全屏黑色背景,alpha 为 0.5,可以看到其他内容UIViewController下。
  • a UIView中间的窗口包含一些信息(如果您想了解一切,则可以使用日历)。

为此,我创建了一个包含两个的 UIViewControllerUIViews(背景和窗口),我正在尝试显示它。我尝试过一个简单的[mySuperVC addSubview:myPopUpVC.view],但是上面还是有导航栏。

我试图将其呈现为模式,但是UIViewController下面消失了,我失去了透明效果。

有什么想法可以做到这一点,我相信这很简单......

谢谢!


您可以通过将视图直接添加到 keyWindow 来做到这一点:

UIView *myView = /* <- Your custom view */;
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:myView];

更新——适用于 Swift 4.1 及更高版本

let currentWindow: UIWindow? = UIApplication.shared.keyWindow
currentWindow?.addSubview(myView)

iOS13及以上版本更新

keyWindow已弃用。您应该使用以下内容:

UIApplication.shared.windows.first(where: { $0.isKeyWindow })?.addSubview(myView)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

首先添加一个UIView,甚至是导航栏 的相关文章

  • 如何使用 Firebase 数据库和 Firebase 通知构建聊天应用的通知系统

    我正在 Android 中使用 Firebase 数据库开发聊天应用程序 我已经完成了核心 聊天和用户列表活动 但我还没有完成通知系统 我想要的是 当一个用户被添加到对话 单个或组 并且另一个用户向对话写入新消息时 第一个用户必须收到一条通
  • NSString 到 Double 问题

    可能很简单 但我不明白 我有一个 NSString50 81114我想把它转换成双 目前我正在使用 string doubleValue 但这是作为50 811140000002这是怎么回事 Disco 由于精度有限double无法存储50
  • 直接访问 ivars 与使用访问器有何不同?

    因此 在我看到的一些代码中 他们直接访问对象 ivar 而不是使用 accessors 使用它们代替访问器有什么优点 那么这会如何 thing object gt ivar 与此不同 thing object ivar Thanks 首先我
  • IO 和 Android 之间发送数据? (字节数组)

    我正在 Android 中开发一个网络应用程序 它应该能够与 IO 应用程序进行通信 我正在使用 Appwarps 多人游戏后端 并且有一个发送和接收数据的功能 该函数接受一个字节数组 所以最初我认为我可以将一个 消息 对象序列化为一个字节
  • NSData initWithBytesNoCopy:length:freeWhenDone 的行为:

    我想要一个固定长度的可变内容共享数据缓冲区 这就是我如何创建它 void buffer malloc length initialize buffer content NSData sharedData NSData alloc initW
  • Xcode 7.3.1:新项目模板屏幕的文本重叠

    为新项目选择模板时存在一些重叠字段 例如iOS gt 应用程序 gt 单视图应用程序 我也尝试过使用 Xcode 8 但没有遇到任何问题 而是 Xcode 7 3 1 macOS Sierra 屏幕截图 为您的新项目选择选项 https i
  • 如何用RXSwift实现UIPickerView

    就像 UITableView 一样 items bindTo tableView rx items cellIdentifier cellIdentifier cellType AttentionTableViewCell self row
  • 需要一些关于调度队列、线程和 NSRunLoop 的澄清

    以下是我所知道和理解的事情 全局队列是一个同时队列 可以将任务分派给多个线程 不保证执行任务的顺序 例如 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY DE
  • CMDeviceMotion userAcceleration 颠倒了?

    我在 CMDeviceMotion 中的 userAcceleration 字段中看到一些意外的读数 当我查看来自 CMAccelerometerData 的原始加速计数据时 我发现如果 iPhone 平放在桌子上 则读数为 1G 垂直向下
  • 如何在 MPMoviePlayerController 上添加 UIImageView | iOS |目标C

    我有一个控制器 可以使用 MPMoviePlayerController 显示视频 我需要在视频上放置图像 我正在尝试使用以下代码 但它没有显示 我缺少什么 method to play the video void playVideoIn
  • ASIHTTP:上传 UIImage?

    有人可以告诉我如何在 Objective c 中使用 ASIHTTPRequest 对象上传 UIImage 对象吗 我需要将其转换为 NSData 对象吗 这是头像上传网址 E g UIImage toUpload UIImage ima
  • 如何制作抗崩溃的ios应用程序

    我现在正在编写 ios 应用程序一段时间 但我的应用程序仍然经常崩溃 并且需要时间才能使它们变得非常稳定 我觉得这很烦人 那么 有没有关于防崩溃编程ios应用程序的编程模式呢 打开编译器警告 删除所有警告 运行静态分析器 删除所有警告 使用
  • 自动布局:3.5 英寸和 4 英寸屏幕的布局一致性与比例元素间距

    我想使用 AutoLayout 来定位控件 使其之间的垂直间距成比例 避免在 3 5 英寸屏幕上进行裁剪 避免在 4 英寸屏幕上出现空白底部空间 正如其他答案中所建议的 我可以使用具有 等高 约束的间隔视图 并在必要时更改乘数 然而 最终的
  • 快速检测屏幕上任意位置的触摸

    我知道你可以使用touchesBegan touchesEnded等来检测触摸 这些都有效 唯一的问题是 它们只检测视图本身的触摸 而不检测视图顶部的任何内容 例如文本字段 我的目标是在一段时间不活动后创建一个超时 如果触摸屏幕 超时将被重
  • 错误:“无效数据消息 - 全部长度必须为:8” - PickerIOS

    Edit 似乎如果我注释掉第 63 行 this setState logged in true 行 我就不会收到错误 我的猜测是 我尝试根据用户是否登录来更改渲染函数中显示的内容的方式是导致此错误的原因 有任何想法吗 我感觉 在理解 Re
  • 在 iPhone 中创建类似 facebook 菜单导航的视图 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要在我的 iPhone 应用程序中创建如下所示的视图 我不知道该怎么做 视图描述 如果我按下视图中箭头指示的按钮图标 则会出现一个新视
  • 修改曝光持续时间并返回 AVCaptureExposureModeContinouslyAutoExposure 后出现奇怪的行为

    我正在开发一个应用程序 该应用程序通过 iOS 8 中引入的新 API 公开相机的手动控制 并且我正在使用这个示例应用程序 https developer apple com library ios samplecode AVCamManu
  • 在 iOS 7 中创建 UUID 和 UDID

    我想创建 UUID 我下面有可以创建 UUID 的代码 如何在 iOS7 中创建具有多个供应商相同 ID 的 UDID NSString stringWithNewUUID CFUUIDRef uuidObj CFUUIDCreate ni
  • 在 NSData 和 base64 字符串之间转换

    在之间进行转换的最简单和最快的代码是什么NSData和一个base64字符串 我读过很多解决方案 其中大部分涉及添加另一个类等 我找到了一个很好的解决方案here http cocoawithlove com 2009 06 base64
  • iPhone OpenGLES 2.0 文本纹理带有奇怪的边框(不是笔划)问题

    我正在使用 CoreGraphcis 创建文本纹理 不幸的是 文本呈现如下 文本颜色与背景相同以展示奇怪的边框 我尝试过使用描边颜色和边框 我认为这是针对 OpenGLES 2 0 而不是 CoreGraphics Create defau

随机推荐