横向きと縦向きの両方をサポートする iOS アプリケーションを作成しています。したがって、これらの 2 つの向きに 2 つのビューを使用しました。IBoutlets
しかし、今の問題は、ファイルの所有者に接続する方法がわからないことです。IBOutlet
両方のモードに1 つのセットを使用することはできませんか。両方のモードをサポートするアプリケーションを実行したことがありません。どうすればこの問題を解決できるか教えてください。
ありがとう
横向きと縦向きの両方をサポートする iOS アプリケーションを作成しています。したがって、これらの 2 つの向きに 2 つのビューを使用しました。IBoutlets
しかし、今の問題は、ファイルの所有者に接続する方法がわからないことです。IBOutlet
両方のモードに1 つのセットを使用することはできませんか。両方のモードをサポートするアプリケーションを実行したことがありません。どうすればこの問題を解決できるか教えてください。
ありがとう
最後に、この方法に従ってこれを見つけました。2 つのビューを作成し、個別の IBOutlets セットを定義しました。方向を変更すると、あるモードの値が他のモードのアウトレットの値に割り当てられました。これは(void)didRotate:(NSNotification *)notification
`
-(void)didRotate:(NSNotification *)notification
{
UIDeviceOrientation newOrientation = [[UIDevice currentDevice] orientation];
if (newOrientation != UIDeviceOrientationUnknown && newOrientation != UIDeviceOrientationFaceUp && newOrientation != UIDeviceOrientationFaceDown)
{
if (orientation != newOrientation)
{
//ORIENTATION HAS CHANGED
NSLog(@"Changed Orientation");
// Do orientation logic
if (
((newOrientation == UIDeviceOrientationLandscapeLeft || newOrientation == UIDeviceOrientationLandscapeRight)) &&
((orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown))
)
{
NSLog(@"Changed Orientation To Landscape");
self.orientationMode=@"landscape";
self.txtInsidernameLandscape.text=self.txtInsiderName.text;
self.txtCompanynameLandscape.text=self.txtCompanyName.text;
self.txtAddressLandscape.text=self.txtAddress.text;
self.txtPhoneLandscape.text=self.txtTelephone.text;
self.txtEmailLandscape.text=self.txtEmail.text;
// Clear the current view and insert the orientation specific view.
[self clearCurrentView];
[self.view insertSubview:mainLandscapeView atIndex:0];
//Copy object states between views
//SomeTextControlL.text = SomeTextControlP.text;
}
else if (
((newOrientation == UIDeviceOrientationPortrait || newOrientation == UIDeviceOrientationPortraitUpsideDown)) &&
((orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight))
)
{
NSLog(@"Changed Orientation To Portrait");
self.orientationMode=@"portrait";
self.txtInsiderName.text=self.txtInsidernameLandscape.text;
self.txtCompanyName.text=self.txtCompanynameLandscape.text;
self.txtAddress.text=self.txtAddressLandscape.text;
self.txtPhoneLandscape.text=self.txtPhoneLandscape.text;
self.txtEmail.text=self.txtEmailLandscape.text;
// Clear the current view and insert the orientation specific view.
[self clearCurrentView];
[self.view insertSubview:mainPortraitView atIndex:0];
//Copy object states between views
//SomeTextControlP.text = SomeTextControlL.text;
}
orientation = newOrientation;
}
}
} `