问题标签 [presentviewcontroller]
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 - iOS:呈现 MFMailComposerViewController 时崩溃
我只有一小段代码应该显示包含某些详细信息的邮件视图,并且在调用时
应用程序崩溃,说Thread 1: breakpoint 1.1
我不确定是什么导致了这次崩溃。我在下面提供代码。
谢谢
sdk - iOS 7 和 iOS 8 之间的“presentViewController”和方向问题
在 iOS 6 或 7 sdk 中, 我可以有效地“presentViewController”并处理presentViewcontroller 的方向。
我尝试使用 Landscape VC 来展示 Portrait VC,它适用于 iOS sdk 6-7。
[[self viewController] presentViewController:dotWebView 动画:YES 完成:nil];
但是当我打开 iOS 8 模拟器并构建我的项目时,所呈现的 VC 无法再处理它自己的 Oritation。它总是风景 Ori,永远不会回来。
或者
仍然无法有效工作,因为键盘只吃 [[UIDevice currentDevice]orientation] ,我无法通过编码来改变它。
我曾经使用 view.layer.transfrom 来改变角度(M_PI/2),但只是自我满足。
我仍然无法打开它......如果有人知道教学的可能性吗?
ios - iOS presentViewController 不调用 viewDidLoad
我正在实现自己的“后退”按钮。其中onClick
,以下代码在ViewController
被解散的(VC)中执行:
- 关闭当前 VC (VC#1)
- 从我的自定义中弹出当前 VC (VC#1)
navigationStack
- 从 中获取最后一个 VC (VC#2)
navigationStack
,并使用
当前视图控制器
发生的事情是后面的作品在视觉上起作用 - 即当前VC
消失,以前VC
出现。但是,viewDidLoad
不会调用该方法。因此屏幕不会使用来自 的数据更新进行更新viewDidLoad
。
问题:
- 我的印象是在使用
viewDidLoad
时总是被调用presentViuewController
? viewDidLoad
我使用仅在 VC#2 中调用的方法“构建”屏幕。iOS如何显示屏幕而不进入viewDidLoad
?
顺便说一句,我没有使用故事板。任何帮助表示赞赏!
ios - 不同设备尺寸的 UIStoryboard 调用问题
我想为三个不同的设备(iphone4s、iphone5 和 ipad)调用 UIStoryboard。我新添加了 iphone4s 设备。我有以下情节提要
- 主要_iPhone
- Main_iPhone4(新增)
- Main_iPad
请检查我当前的来源。它与iphone5一起工作。
我需要像下面这样进行更改,并且我使用 iphone4s 设备运行。但我仍然看到“Main_iPhone”故事板。当我在 iphone4s 设备中运行时,请帮助我如何切换 Main_iPhone4。
ios - 从 UIPopoverController 出现时关闭 PresentedViewController
从popoverview呈现的PrestedViewController,这是我正在使用的代码
控制器打开正常,当我尝试关闭控制器时,我收到此警告
“警告:在演示或关闭过程中尝试从视图控制器中关闭!”
之后,如果我单击任何按钮,应用程序将崩溃。
这是我用来关闭视图的代码
当我尝试关闭弹出视图本身时,会收到相同的警告
ios - 从 NSObject 类中呈现 ModalViewController
我问是因为在这里没有找到答案。我有从互联网获取一些数据的单例类。获取数据后,我需要将其传输到位于主视图控制器和导航控制器之后的视图控制器。
单例类 | | NavController->MainViewController->GettingDataViewcontroller(在我的例子中是 ImagePickerViewController)
我尽我所知:
- 此代码将以空白屏幕显示所需的控制器:
ImagePickerViewController *imgPicker = [[ImagePickerViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:imgPicker];
UIViewController *vc = [[[[UIApplication sharedApplication] windows] firstObject] rootViewController];
[imgPicker getParsedUrls:self.picturesUrl];
[vc presentViewController:nav animated:YES completion:nil];
- 此代码将显示带有白屏但没有对象(按钮等)的视图控制器:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ImagePickerViewController *imgPicker = [storyboard instantiateViewControllerWithIdentifier:@"ImagePicker"];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:imgPicker];
UIViewController *vc = [[[[UIApplication sharedApplication] windows] firstObject] rootViewController];
[imgPicker getParsedUrls:self.picturesUrl];
[vc presentViewController:nav animated:YES completion:nil];
在这两种方式中,我都得到了我放在第二个控制器中的 slog 代码,我得到了它。
我在这里想念什么?感谢帮助
ios - 在键盘处于活动状态时呈现模态视图控制器
所以我基本上有一个表格,由几个文本字段组成。用户像往常一样输入字段。但是用户也可以选择双击文本字段,它会显示一个模态视图控制器,允许用户从与该字段相关的多个选项中进行选择。
我可以以某种方式在键盘“上方”呈现模态,这样当它被关闭时,键盘对于在我呈现模态之前已经是第一响应者的字段仍然处于活动状态?
现在,键盘在模态出现时消失,并在模态消失时重新出现。在我看来它很笨重,而且让人分心。希望简化它,并减少屏幕上的动画数量。
ios - 自定义呈现的 UIViewController 更改为全屏
我有一个使用UIModalPresentationCustom
演示样式呈现的视图控制器。我使用自定义UIViewControllerTransitioningDelegate
将视图控制器呈现为侧边栏(因此它从屏幕边缘滑入并且不占据整个屏幕)。
UIModalPresentationFullScreen
但是,当我使用- 然后关闭全屏视图控制器时,当我从这个视图控制器呈现另一个视图控制器时,我的底层自定义呈现控制器突然调整大小以占据全屏。有谁知道为什么会这样?
编辑:这本质上是我animateTransition
展示侧边栏的方法——我已经删除了大部分代码以使其可读。基本上,它从transitionContext 获取容器,将目标视图控制器的视图添加到容器中并为其设置动画。
编辑2:做更多的研究,我注意到当模式堆栈中它上面的视图控制器被解除时,我的自定义呈现视图控制器的视图的框架正在设置。以下堆栈跟踪导致框架被设置为全屏:
ios - 通过点击本地通知呈现特定视图
我的应用中有 2 个本地通知。我想展示来自 notification1 的 view1 和来自 notification2 的 view2 。我该怎么做 ?而且我还想通过按主页按钮在进入非活动或背景状态之前的任何视图上显示它。
objective-c - UIModalPresentationStyle.FormSheet 在 iPad 上始终全屏 (SWIFT)
我正在尝试将一些 Objective-C 代码翻译成 SWIFT。
我正在将 UIViewController 作为表单加载。这是objective-c中的代码:
这是 Swift 中的代码:
在 Objective-C 中,视图显示为 FormSheet。在 swift 中,CoverVertical 被维护,但视图占据了整个屏幕而不是显示为 FormSheet。
提醒一下,根据 Apple 的说法,FormSheet 是:
一种视图呈现样式,其中呈现的视图的宽度和高度小于屏幕的宽度和高度,并且视图在屏幕上居中。如果设备处于横向且键盘可见,则视图的位置会向上调整,以便视图保持可见。所有未覆盖的区域都变暗,以防止用户与其交互。