问题标签 [uimodalpresentationstyle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Change UIStatusbarStyle even with UIModalPresentationOverFullScreen
I currently use UIModalPresenationOverFullScreen
to present the next controller and at this moment I want to change the UIStatusBarStyle
. The previous controller has got the UIStatusBarStyleDefault
but in the current I want to use UIStatusBarStyleLightContent
.
Because of the UIModalPresenationOverFullScreen
the previous controller is still alive in the background. Which causes the problem that the current will inherit that style.
In the plist file I've set View controller-based status bar appearance
to YES and have been trying with some tips like:
Nothings seems to work. Anyone who'r run into the same problem. I still want the previous controller to be alive but change the UIStatusBarstyle
.
ios - viewDidGetCoveredUpByModalPresentationFormSheet?
我有一个具有不同集成的应用程序,例如 Evernote 和 Dropbox。当用户对其进行身份验证时,UIViewController 将身份验证视图呈现为 UIModalPresentationFormSheet。这不会为我的视图触发 viewDidDisappear,这是有道理的,因为它不会消失。
我可以实施另一种方法来通知吗?
ios - 如何以编程方式判断 ViewController 是否呈现 UIModalPresentationFormSheet 全屏打开?
在 iPhone 6+ 上模态显示 ViewController,其UIModalPresentationFormSheet
打开方式根据方向不同。
在纵向模式下,它看起来像普通的 Modal(与较小的 iPhone 相同)。但在横向模式下,它以表单形式打开(类似于 iPad)。
我如何以编程方式告诉实际使用了什么状态(在 VC 的生命周期中的任何地方)。
statusbar - iOS 8.3 modalPresentationStyle OverCurrentContext 不继承状态栏外观和可见性
考虑以下设置:
- 您有一个简单的应用程序,其中包含一个
UINavigationController
子类和一个UIViewController
子类。 - UINavigationController 覆盖
preferredStatusBarStyle()
方法并返回UIStatusBarStyle.LightContent
- UIViewController 覆盖
prefersStatusBarHidden()
方法并返回true
在 iOS 8.0 - 8.2 中,当另一个UINavigationController
(具有另一个不覆盖任何内容的 UIViewController)呈现为modalPresentationStyle
设置为UIModalPresentationStyle.OverCurrentContext
时,新呈现的控制器将继承状态栏的外观和可见性。
但在 iOS 8.3 中,情况完全相同——新出现的控制器不继承状态栏的外观和可见性
另一个例子是展示一个实例UIImagePickerController
——在状态栏外观方面发生了完全相同的事情。
问题是:
- 为什么在 iOS 8.3 中新出现的控制器没有继承状态栏的外观?
- 发生了什么变化(我无法在 iOS 8.2 到 8.3 API 差异中找到任何有意义的参考)?
- 是否有任何优雅的解决方案,而不是在任何地方覆盖外观和可见性方法?
ios - 视图控制器以模态方式呈现/关闭时的通知?
如果某个视图控制器以模态方式呈现在另一个视图控制器之上(除了viewWillDisappear
,显然不要求在 iPad 上进行非全屏模式呈现),是否有任何方法可以自动通知?
背景/用例:在 iPad 应用程序中,每当呈现模态表单时,我都想调整模态表单后面的视图的外观。然而,模态的展示不一定在需要适应的同一个视图控制器中完成,而是可能发生在某些子 VC 或父 VC 中。当然,我可以手动传达这个事件(通过通知、委托或其他方式),但这是非常重复的,并且在将来添加更多模式表单时很容易被遗忘。
因此,我想知道是否有更优雅的方式来实现这一点。我已经尝试过 KVO on presentedViewController
,但这似乎不起作用(而且我也不确定如果presentedViewController
模态演示是由子视图控制器完成的,是否会实际设置......)。
ios - 横向 iPhone 6 Plus 的 UIModalPresentationPopover 不显示弹出框
我想始终ViewController
在所有设备和所有方向上的弹出窗口中显示 a 。我试图通过采用UIPopoverPresentationControllerDelegate
and 设置sourceView
and来实现这一点sourceRect
。
这适用于所有设备和方向,除了 iPhone 6 Plus 横向。在这种情况下,视图控制器会在表单中从屏幕底部向上滑动。我怎样才能防止它总是出现在弹出窗口中?
所有设备均在 iOS 8.2 或更高版本下
ios - 确定视图控制器的呈现方式
我正在以模态方式展示一个视图控制器,并将其UIModalPresentationStyle
设置为自适应样式UIModalPresentationPopover
。这种风格在水平紧凑的环境(iPhone 纵向)中会出现在全屏上。在水平规则和垂直紧凑的环境(iPhone 6 Plus 横向)中,它将出现在表单中。在常规环境 (iPad) 中,它会显示为弹出框。这是期望的行为。
我需要以编程方式确定该控制器的实际显示方式 - 表单、全屏或弹出窗口。如何从正在呈现的视图控制器中确定这一点?
原因是我只需要在它不在弹出框内的情况下添加一个完成按钮。(或者在它位于弹出框的情况下隐藏它。)
创建视图控制器:
在视图控制器内部:
ios - viewDidLoad 和 viewWillAppear 之间的 Swift 长时间延迟
我遇到了一个问题,即在尝试呈现ViewController
. UITableViewCell
当用户单击需要高级访问权限的时,我试图显示升级警报。在ViewController
介绍中,我放置了调试代码:
该println
声明导致:
如您所见,在结束viewDidLoad
和开始之间有 3 秒的延迟viewWillAppear
。我无法弄清楚为什么会发生这种情况。我在 中以编程方式创建视图ViewController
,因此这里没有使用情节提要。
这是我必须展示的代码ViewController
:
ios - 如何在 SWIFT 中重绘我的视图?
在我的 iPad 应用程序上,我有一个 UIViewController 和一个打开 modalView 的按钮。
当我用dismissViewControllerAnimated关闭modalView时,我想“刷新”我的视图控制器(因为我添加了新内容)。但由于模态视图是“表单”样式,因此不会调用 viewDidAppear 或 viewWillAppear。
我尝试使用 setNeedsDisplay,但它不起作用。
我不知道该怎么做。