使用xcode中的界面构建器和一个.xib文件,如何在横向和纵向方向之间旋转时创建备用布局?
请参见不同布局的图表

Nb.绿色视图/区域将包含横向流动的3个项目,在纵向中,这3个项目将在绿色视图/区域内垂直流动.
我在调整浏览器窗口大小时使用它来运行一些代码: $(window).resize(callback)
我还需要在手机和平板电脑中更改方向时运行此代码.以上火灾会对此事件有所影响吗?
这是一个普遍的问题,人们可以为我提供指导,基本上我正在学习iPad/iPhone开发,并最终遇到了多方位支持问题.
我查了相当数量的doco,我的书"开始iPhone 3开发"有一个很好的章节.
但我的问题是,如果我以编程方式改变我的控件(或者甚至对每个方向使用不同的视图),人们如何维护他们的代码库?我可以想象很多问题与意大利面条代码/成千上万的"如果"检查到位,它会让我疯狂地对UI安排做一个小改动.
有没有人有处理这个问题的经验?控制它的好方法是什么?
非常感谢马克
我昨天开始研究PhoneGap并在倾斜手机的同时创造了一个简单的"大理石".我目前正在使用Android进行开发,但我希望这种方向可以保持美化,而不是在手机旋转时移动.有办法做到这一点吗?
表现:
<?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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".App"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name" >
<intent-filter>
<action …Run Code Online (Sandbox Code Playgroud) 我想在运行我的Android应用程序时以编程方式更改方向,使用以下代码行:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
它们到目前为止工作,但主要问题是当屏幕方向改变时重新加载整个活动,我不希望这样.可能吗?谢谢.
编辑:好的,在我找到我失踪的东西之后.我必须在configChanges属性中包含"screenSize",所以有
android:configChanges="orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)
解决了整件事.
当用户将iPad从垂直位置转换为水平位置或从水平位置转换为垂直位置时,如何使用javascript或jquery进行检测?
在我的一个页面上,我需要将屏幕设置为横向模式并将其锁定,使其无法旋转为纵向模式,而只能在一页上旋转.因此需要一种即时启用此功能的方法.有人知道怎么做吗?
我希望它可以向左旋转或向右旋转,而不是纵向模式.
In 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 = CGAffineTransformMakeRotation(M_PI_2);
break;
case UIInterfaceOrientationLandscapeLeft:
nAngle = 0;
bRet = YES;
//_previewCamera.transform = CGAffineTransformMakeRotation(M_PI*1.5);
break;
case UIInterfaceOrientationLandscapeRight:
nAngle …Run Code Online (Sandbox Code Playgroud) 我想在我的Android应用程序上修改屏幕方向为肖像.我发现,使用谷歌可以通过将以下代码添加到我的manifest.xml来完成:
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
Run Code Online (Sandbox Code Playgroud)
这很好,但问题如下:我现在大约有15项活动,这个数字会增长.有没有办法立即对所有活动进行定向?
我尝试以下列方式使用样式:
theme.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Custom" parent="android:Theme">
<item name="android:screenOrientation">portrait</item>
<item name="android:windowBackground">@drawable/launcher</item>
<item name="android:configChanges">keyboardHidden|orientation</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
的Manifest.xml
<application ...
android:debuggable="true"
android:theme="@style/Custom"
>
//...
</application>
Run Code Online (Sandbox Code Playgroud)
要么
<activity
...
android:theme="@style/Custom"
>
//...
</activity>
Run Code Online (Sandbox Code Playgroud)
这两个例子都windowBackground成功应用,但screenOrientation不起作用.有任何想法吗?
我希望获得手机方向,但保持屏幕方向为纵向.因此,无论用户将手机转为横向还是纵向,视图都保持不变,但我可以看到它是转向横向还是纵向.
将活动设置为android:screenOrientation ="portrait"将修复两者但我无法通过以下方式检测到手机方向
public void onConfigurationChanged(Configuration newConfig) {
switch (newConfig.orientation) {
case Configuration.ORIENTATION_PORTRAIT:
Toast.makeText(this, "Portrait", Toast.LENGTH_SHORT).show();
break;
case Configuration.ORIENTATION_LANDSCAPE:
Toast.makeText(this, "Landscape", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?