问题标签 [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.
uinavigationcontroller - 在 ModalViewController 中使用 UINavigation 控制器的问题
我正在尝试从另一个 UIViewController 以模态方式呈现 UINavigationController 的根视图。但是,当我单击触发模态转换的按钮时,我会看到一个空白屏幕,其中包含一个空的 UINavBar。我怀疑我没有将视图附加到 UINavigationController,但我不确定如何执行此操作。
这是我应该触发模态转换的目标操作方法的代码。此代码包含在 modal Presenter 的实现文件中:
ios - 调整模态视图控制器的大小时出现阴影错误
我想调整和重新定位模态视图。调整大小效果很好。重新定位不起作用。有阴影的错误。请看截图二。是否可以降低阴影?
ios - iPad 应用程序方向和重新定位问题
当我的 UI 流程如下时,我的应用程序中有一个奇怪的错误:
mainViewController 以纵向启动,然后显示一个 LoginViewController,其中 modalPresentationStyle 设置为
UIModalPresentationFullScreen
。我将 loginViewController 设置为横向模式,输入凭据进行登录(验证用户的方法在 mainViewController 中定义)。
loginViewController 被解除(从 mainViewController)并且一堆按钮被加载到屏幕上以指示它是主屏幕。
现在我的问题是按钮位置看起来好像应用程序处于纵向方向,即使在显示 loginViewController 时应用程序切换到横向。
此外,仅当 modalPresentationStyle 设置为UIModalPresentationFullScreen
! 当我将其呈现为表单或页面表时,一切正常(但是,我需要将 loginViewController 显示为全屏)。
到目前为止,我已经尝试在 loginViewController 被解除等时手动调用 shouldAutorotate 方法,这解决了问题,但似乎是一种劣质的解决方法而不是修复。
我也尝试从 loginViewController 调用 mainViewController 的 shouldAutorotate 方法,但这并没有改变。
关于如何解决这个问题的任何想法?
ios - 如何找到键盘未覆盖的视图部分(UIModalPresenationStyleFormSheet)?
我有一个显示带有 UITextView 的视图的视图控制器,并且我想在键盘出现时调整视图的大小,以便 UITextView 不会被键盘覆盖。我几乎在所有情况下都能正常工作。据我所知,只有当视图控制器以 ModalPresentationStyleFormSheet 呈现并且仅以 LandscapeRight 方向呈现时,我仍然在 iPad 上看到了一些奇怪现象。
我的视图控制器 -keyboardWillShow 的相关部分:
-[UIView boundsInWindow]:
这在大多数情况下都有效。但是,当我的应用程序处于用户界面方向 LandscapeRight 时,我从 -boundsInWindow 获得的原点比它应该的要低很多。这可能是什么原因造成的?
感谢您的帮助!
ios - 如何在中心呈现具有自定义大小的模态视图控制器?
我想展示一个自定义大小的模态视图控制器,底部有动画。ModalPresentationStyle
我可以用to来实现这个动画FormSheet
,但它迫使我使用默认大小 540x620并且我的视图不适合。
如何对放置在屏幕中心的任意大小的视图(控制器)执行类似的转换?
ios - 我的 viewController 没有正确显示
在我的 iPad 应用程序中,我试图以模态表单样式呈现我的一个观点。这是一些代码:
我正在使用 Storyboard,并且在我想显示的视图中放置了诸如 textView 和工具栏之类的东西。我已经在 Identity Inspector 中设置了正确的类,并且在类文件中我检查了它是否是正确的视图NSLog(@"Right view");
当调用虚空存在时,一个视图正在出现,但只是一个深白色的正方形。我的 Storyboard 中没有任何内容,我什至尝试更改视图和 textView 的背景颜色,以查看是否有东西在广场外,但整个东西都保持白色。感觉好像它没有使用我在情节提要中创建的视图,但是我已将其设置为正确的类,并且在调用它时会打印出 NSLog。我没有在 Storyboard 中以任何方式连接这两个视图,SecondViewController 只是浮动,所以这可能是问题吗?调用的按钮-(void)present
是以编程方式创建的,所以我也不能按 ctrl+将它拖到按钮上。
为什么它显示我的班级的空版本?
ios - iPad:在横向呈现 UIImagePickerController 会在关闭时旋转我的其他视图控制器
我UIImagePickerController
在 iPad 上展示一个带有UIImagePickerControllerSourceTypeCamera
. 我知道其他UIImagePickerControllerSourceType
选项需要在 a 中呈现UIPopoverController
,但我怀疑相机应该是。
话虽如此,我正在从模态视图控制器呈现相机,该控制器呈现为formSheet
. 有时当我展示选择器时,它会向下移动几个像素,就像状态栏将其向下推:
接下来,当我关闭选择器时,它已将我formSheet
的模式旋转为纵向模式,但底层UISplitViewController
仍处于横向模式:
这里发生了什么?UIImagePickerController
从模态表单中呈现 a 时,我做错了什么吗?
ios - 将重叠的 UIViewController 放在前面
我目前在我的 iPhone 应用程序中同时运行三个视图控制器。
我使用滑动视图。
这是我的形象:
当我点击表格视图单元格时,我想打开一个新的视图控制器,如下所示:
(鸡蛋代表一个新的视图控制器。
但是你可以看到我的橙色视图控制器在前面。
我该如何改变?
我用来打开的代码egg-viewcontroller
:
uiviewcontroller - UIModalPresentationCurrentContext - 未调用旋转方法
我正在尝试使用 UIModalPresentationCurrentContext 在 VC 之上呈现 VC,以便查看其背后的视图。下面的代码有效:
但是,当我在 VC 被推动后旋转设备时,旋转看起来完全一团糟。它不是干净地旋转而是尴尬地拉伸视图以适应新的方向。
此外,当我将 transparentViewController 子类化时,我发现它的 viewwillautorotate 方法没有被调用!(即使它以混乱的动画方式旋转)
UIModalPresentationCurrentContext 样式不是要旋转吗?有没有办法解决?有没有其他人遇到过这个问题?
iphone - 模态演示样式中忽略的 UITableView 样式
当在 iPad 内部以模态方式呈现时,我对 a UITableView
in a的样式有疑问。很简单,我希望表格单元格边框不出现,因此在 IB 中,我将分隔符样式设置为“无”,将分隔符颜色设置为“清除颜色”。在 NIB 中,我的分组表看起来像我想要的样子:UIViewController
UINavigationController
在 NIB 中,tableView 连接到文件的所有者,因为它是源和委托。它也被设置为 IBOutlet。文件所有者的类名已正确设置为我要加载此 NIB 的 VC。在启动时,我创建了这个 VC 的一个实例,然后我创建了一个UINavigationController
. UINavigationController
我用这个 VC(有)初始化UITableView
,然后以UINavigationController
模态方式呈现。在 iPad 上,我使用模态表单呈现样式呈现它。
在我的 AppDelegate 的application:didFinishLaunchingWithOptions:
方法中,我实例化并保留对 VC 及其父级 UINavigationController 的引用:
然后......在执行了一些逻辑之后(仍在 AppDelegate 中),我以UINavigationController
模态方式呈现:
iPhone 上的世界一切都很好,因为我的单元格边框不可见:
但是,在 iPad 上,单元格边框清晰可见,并且我的导航标题样式全部消失(这是另一天的问题):
我真的很想知道为什么UITableView
在 iPad 上会忽略这样的分隔符样式。我尝试将其设置modalPresentationStyle
为 PageSheet 和 FullScreen 并遇到同样的问题。我还尝试在 VC viewDidLoad
(包含表格视图)中设置这些属性,但无济于事。我也尝试过创建一个特定于 iPad 的 NIB“LoginViewController~ipad”并以这种方式连接所有内容,但这似乎也没有什么不同。
这可能是我保留登录 VC 并且它包含的方式UINavigationController
,但我不能确定,因为这在 iPhone 上工作得很好。
我猜这可能与 iPad 上的模态演示有关,对于我所有的搜索和尝试不同的组合,我无法弄清楚发生了什么。有任何想法吗?
[编辑]
我正在使用 iOS 6.1、5.1 和 5.0 的模拟器工作。我在所有版本中都看到了同样的问题。我现在坚持使用 iOS 6.1,并将向后移动以兼容。我还没有转移到设备上。
谢谢!