ユーザーがランドスケープに切り替わったときに別のxibを読み込んでいて、うまくいきましたが、スワイプのイベントが登録されていないことに気付きました。UISwipeGesturesを失うことなくloadNibNamedを呼び出す方法は?
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if ([self currentlyInLandscapeMode:toInterfaceOrientation]) {
[[NSBundle mainBundle] loadNibNamed:@"PhotosLandscape" owner:self options:nil];
}else{
[[NSBundle mainBundle] loadNibNamed:@"PhotosPortrait" owner:self options:nil];
}
}
- (BOOL)currentlyInLandscapeMode:(UIInterfaceOrientation)interfaceOrientation
{
return (UIInterfaceOrientationIsLandscape(interfaceOrientation));
}
どのようにxibを切り替えて、以前のビュー/ xibからすべての状態を維持できますか?
UPDATE
既存のオブジェクトをレイアウトするnibファイルを使用することはできません私のIBOutletsはまだ動作が判明したが、私の強打は
は適切二XIBに配線iboutletsです(そうのように)ロードされた後、スワイプイベントを再登録する必要が判明しますか? – TigerCoding
yes - 風景がポートビューのコピーとして開始され、xib内のすべてがビュー自体(xy座標)上の場所を除いて同一です。 –