这更是一个普遍的问题,让人们为我提供指导,基本上是学习iPad / iPhone的开发,终于遇到了多方位的支持问题。 我已经查阅了相当数量的doco,而我的书“Beginning iPhone 3 Development”有一个不错的篇章。 但是我的问题是,如果我要以编程方式改变我的控制(甚至对每个方向使用不同的观点),人们究竟如何维护他们的代码基础呢? 我可以想象在意大利面代码/成千上万的“if”检查到处都有这么多的问题,这将迫使我坚持对UI的安排作一个小的改变。 有没有人有经验处理这个问题? 什么是控制它的好方法? 非常感谢Mark
我希望平板电脑能够以纵向和横向显示(sw600dp或更高),但手机仅限于纵向显示。 我找不到任何有条件地select方向的方法。 有什么build议么?
我们如何将仿真器的屏幕方向改为横向或纵向?
我想找出一个设备的详细方向,最好从ActivityInfo或等效的SCREEN_ORIENTATION_LANDSCAPE , SCREEN_ORIENTATION_PORTRAIT , SCREEN_ORIENTATION_REVERSE_LANDSCAPE , SCREEN_ORIENTATION_REVERSE_PORTRAIT 。 包括StackOverflow中的一些答案 getWindowManager().getDefaultDisplay().getRotation() 但是这并不能告诉我该设备是处于纵向模式还是横向模式,而只是参照其自然位置旋转的方式 – 反过来,它可以是风景或肖像。 getResources().getConfiguration().orientation 返回以下三个之一: ORIENTATION_LANDSCAPE , ORIENTATION_PORTRAIT , ORIENTATION_SQUARE ,然后不真正告诉我手机转向哪个方向(无论是颠倒还是转向哪个方面)。 我知道我可以将后者与DisplayMetrics结合使用,以查明设备的自然方向,但真的没有更好的方法吗?
我一直在肖像模式下写我的通用应用程序,现在约15笔尖文件,许多viewCotnrollers,我想实现shouldAutorotateToInterfaceOrientation并devise一些屏幕在横向模式。 join: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } 到我的所有viewControllers,不做的工作。 在debugging期间,我看到这个方法被调用,但它不会工作! 不在模拟器中,不在设备中,不在Iphone中,不在Ipad中! 我在论坛中search了一些答案,并看到一些build议使用: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ); } 也没有工作, 添加: [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 和 [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; 到我的viewDidLoad和viewDidUnload分别没有任何工作。 我迷路了..任何帮助都行! 只是一个更多的信息...所有我的意见是typesUIControl,因为我需要TuchUpInside工作。 Appriciate你的帮助。
我昨天开始研究PhoneGap,并创build了一个简单的“大理石”在翻转手机的同时滚动。 我目前正在开发Android系统,但是我希望方向能够保持环境美化,而不是在手机旋转时移动。 有没有办法做到这一点? performance: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.phonegap.helloworld" android:versionCode="1" android:versionName="1.0" > <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" […]
在iOS 6 shouldAutorotateToInterfaceOrientation不起作用,但在iOS 5.0或5.1可以正常工作。 我需要在iOS 6进行更改。 这是我的代码 – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if([[[SampleApplicationAppDelegate instance].callInfoDictionary valueForKey:IS_CHAT] isEqualToString:NO_RESPONSE]) { int nAngle = 0; BOOL bRet = NO; switch (interfaceOrientation) { case UIInterfaceOrientationPortrait: nAngle = 90; bRet = YES; NSLog(@"…….Preview = %f %f",_previewCamera.frame.size.width,_previewCamera.frame.size.height); _previewCamera.transform = CGAffineTransformMakeRotation(M_PI*1.5); NSLog(@"Preview = %f %f",_previewCamera.frame.size.width,_previewCamera.frame.size.height); break; case UIInterfaceOrientationPortraitUpsideDown: nAngle = 270; bRet = YES; _previewCamera.transform […]
我认为这是可以实现的,因为屏幕旋转行为可以上升到应用程序级别。
我的主要活动有一些代码,使一些数据库的变化,不应该被打断。 我在另一个线程中做了繁重的工作,并使用了我设置为不可取消的进度对话框。 不过,我注意到,如果我旋转我的电话,它会重新启动对于正在运行的进程是非常不利的活动,并且我得到一个强制closures。 我想要做的是以编程方式禁用屏幕方向更改,直到我的过程完成,在此时方向更改已启用。
我已经成功实现onRetainNonConfigurationInstance()为我的主要Activity保存和恢复跨屏幕方向更改某些关键组件。 但是,看起来,我的自定义视图正在重新创建方向改变时从头开始。 这是有道理的,虽然在我的情况下,这是不方便的,因为有问题的自定义视图是一个X / Y的情节,绘制点存储在自定义视图。 有没有一种狡猾的方式来实现自定义视图onRetainNonConfigurationInstance()相似的东西,还是我只需要在自定义视图中实现方法,让我得到并设置其“状态”?