我有一个常规的UINavigationController,我将一系列UIViewController推入堆栈.push控制器的视图转换是水平动画转换:[self.navigationController pushViewController:controller animated:YES];
但是,当我按下导航栏上的"后退"按钮时,视图过渡动画是垂直的(垂直下降前一个控制器/视图).
我似乎没有找到任何方法使这个水平.这仅在横向模式下发生.纵向模式转换都发生在水平翻转过渡.
任何人都可以对此有所了解吗?
谢谢
我通过IB设置了视图控制器的视图.视图设置为横向,宽度为480,高度为320.它在模拟器中正确加载.但是,当我使用NSLog检查self.frame.size时,我发现帧大小自行改变而没有任何设备或任何代码的旋转.这是我得到的:
在viewDidLoad - > size = 480 x 320
在viewWillAppear - > size = 480 x 320
在viewDidAppear - > size = 320 x 480
我只在viewDidLoad中有代码,但没有viewWillAppear和viewDidAppear.谁知道幕后发生了什么?谢谢.
我在搜索对话框的搜索字段中输入时已经获得了搜索建议.在纵向模式下键入时,结果将列在搜索对话框下.但当我改为横向模式时,searchdialog的文本输入字段变为全屏(我希望你知道我的意思),搜索建议再也看不到了.我知道例如来自谷歌地图,也在横向模式下,搜索建议显示在"大"文本输入字段下...我应该输入哪个代码以在横向模式下键入时获得此"视图"?
谢谢!
托马斯
嘿家伙我正在使用phonegap和jquery mobile为Android手机构建应用程序.是否有可能将方向锁定在一个页面上?例如,加载页面"地图"并将方向锁定为"横向"模式.
我希望在Android应用程序中禁用横向视图.我用过:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
它有效,但有一个小问题.如果我旋转屏幕,活动将重新开始,当它返回时,屏幕仍处于纵向模式.我希望我的应用程序完全忽略设备的位置.如果在旋转设备时活动重新开始(屏幕变黑几秒钟,然后活动再次显示为纵向模式),则禁用横向视图没有意义.
我正在开发一个仅支持横向定位的应用程序.它使用a UIImagePickerController从库中选择图像和/或视频.应用程序在iOS-5或之前运行良好但在我尝试呈现图像选择器控制器时它会崩溃.它在崩溃后给出以下消息:
*由于未捕获的异常'UIApplicationInvalidInterfaceOrientation'终止应用程序,原因:'支持的方向与应用程序没有共同的方向,并且shouldAutorotate返回YES'
landscape uiimagepickercontroller uiinterfaceorientation ios6
我正在开发一个应用程序,我需要在其中提供不同方向的不同活动的背景图像。所以我以这种方式接近:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setLanguage();
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
// set background for landscape
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
// set background for portrait
}
}
Run Code Online (Sandbox Code Playgroud)
和
android:configChanges="locale|orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)
并在onCreate()假设用户将在纵向模式下启动应用程序时,我为纵向设置了背景图像。
一切正常,因为当用户改变他们的模式时,相应的背景被设置等等。
但是,如果用户在手机处于横向模式时启动此应用程序,正如我在用户将以纵向模式启动应用程序之前假设的那样,在第一次启动时显示的纵向图像。
那么我该如何解决这个问题呢?一句话,为不同的方向设置不同的背景图像的最佳方法是什么?我在正确的轨道上吗?
我正在向我的应用添加一个MPMoviePlayerViewController,如下所示:
MPMoviePlayerViewController *vc = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];;
[self presentMoviePlayerViewControllerAnimated:vc];
Run Code Online (Sandbox Code Playgroud)
一切正常,但我无法启用横向模式.我希望我的整个应用程序除了实际的MPMoviePlayerViewController是肖像.我在谷歌搜索,但所有的解决方案都需要在横向上使用其他应用程序.我需要我的应用程序保留在纵向除了MPMoviePlayerViewController.
提前致谢!
编辑:
使用@matt回答我将横向添加到我的设备方向:

接下来我去了我的第一视图控制器(不是MPMoviePlayerViewController)并添加了:
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)
然而,应用程序仍然让主菜单进入横向模式.
在android studio中,运行时,我的程序以横向模式显示并且运行良好。但是,在查看xml设计时,虚拟设备以纵向模式显示。如何以横向模式显示 xml?
landscape ×10
orientation ×4
android ×3
ios ×2
iphone ×2
cocoa-touch ×1
cordova ×1
frame ×1
ios6 ×1
jquery ×1
mode ×1
objective-c ×1
portrait ×1
rotation ×1
size ×1
transition ×1
view ×1