0

私は客観的 c を使用して固定ポートレート アプリを持っています。また、画像を閲覧するために MWPhotoBrowser を開くためのボタン クリックがあります。今ではポートレートモードでうまく機能しますが、携帯電話を回転させるためにポートレートモードとランドスケープモードの両方でMWPhotoBrowserを作成したいと考えています。どうすればそれを行うことができますか、これが私のコードです:

- (void) prepareForPhotoAlbum:(NSArray*)photoObjs {
self.photoURLArrays = [[NSMutableArray alloc]init];
for(int i=0 ; i<photoObjs.count ; i++){
    NSDictionary* dictOfImageObj = photoObjs[i];
    [self.photoURLArrays addObject:[MWPhoto photoWithURL: [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@",ServerTopicImageURL,dictOfImageObj[@"filename"]]]]];
}
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
// Set options
browser.displayActionButton = YES;
browser.displayNavArrows = NO;
browser.zoomPhotosToFill = YES;
[browser setCurrentPhotoIndex:0];
browser.wantsFullScreenLayout = YES;

[self.navigationController pushViewController:browser animated:YES];

[browser showPreviousPhotoAnimated:YES];
[browser showNextPhotoAnimated:YES];

 } 
4

1 に答える 1

0

2 つのオプションがあります。アプリを縦向き + 横向きにして、VC を通過し、shouldAutorotate、preferredOrientation、presentationOrientation の 3 つの回転メソッドを追加できます。または、この特定の VC で、デバイスの向きの NotificationCenter 通知に登録できます。また、電話の向きがロックされている場合やアプリの向きがロックされている場合でも、回転が発生したことの通知を受け取り、独自のアニメーション変換を適用して横向きに表示する必要があります。これは、ほとんどのカメラアプリがこれを行う方法です。カメラのビューポートを回転させたくないので、私は知っています。

    NotificationCenter.default.addObserver(self, selector: Selector, name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
于 2016-12-19T10:27:42.957 に答える