i create code:
self.pageviewcontroller = [[pageviewcontroller alloc] initwithtransitionstyle:uipageviewcontrollertransitionstylescroll navigationorientation:uipageviewcontrollernavigationorientationhorizontal options:@{ uipageviewcontrolleroptioninterpagespacingkey : @30 }]; self.pageviewcontroller.delegate = self; self.pageviewcontroller.datasource = self; self.pageviewcontroller.automaticallyadjustsscrollviewinsets = no; self.currentmediaplayerviewcontroller = [self createmediaplayerviewcontrollerwithmediaitem:self.mediaitems[self.pageindex]]; nsarray *pageviewcontrollers = @[self.currentmediaplayerviewcontroller]; [self.pageviewcontroller setviewcontrollers:pageviewcontrollers direction:uipageviewcontrollernavigationdirectionforward animated:no completion:nil]; [self addchildviewcontroller:self.pageviewcontroller]; [self.pageviewcontroller didmovetoparentviewcontroller:self]; [self.view addsubview:self.pageviewcontroller.view]; i enable landscape orientation in parentvc pageviewcontroller. still can catch rotation.
- (void)viewdidload { self.navigationcontroller.delegate = self; nsnumber *value = @(uiinterfaceorientationlandscapeleft); nsstring *keyorientation = @"orientation"; if (![value isequaltonumber:@((nsinteger)[[uidevice currentdevice] valueforkey:keyorientation])]) { [[uidevice currentdevice] setvalue:value forkey:@"orientation"]; } - (nsuinteger)navigationcontrollersupportedinterfaceorientations: (uinavigationcontroller *)navigationcontroller { return uiinterfaceorientationmasklandscape; how can enable landscape orientation in pageviewcontroller?
try use code
- (bool)shouldautorotate { return yes; } - (nsuinteger)supportedinterfaceorientations { if (self.islandscapeok) { // iphone, return uiinterfaceorientationmaskallbutupsidedown return uiinterfaceorientationmaskall; } return uiinterfaceorientationmaskportrait; }
Comments
Post a Comment