Sunday, 20 April 2014

PushViewController Not Working in Popover


hi,

ny universal project, create popover using following code:
code:
flipsideviewcontroller *controller = [[[flipsideviewcontroller alloc] initwithnibname:@"flipsideviewcontroller" bundle:nil] autorelease];      controller.delegate = self;            uinavigationcontroller *navcontroller = [[uinavigationcontroller alloc] initwithrootviewcontroller:controller];                              if ([[uidevice currentdevice] userinterfaceidiom] == uiuserinterfaceidiomphone) {          nslog(@"iphone");                              navcontroller.modaltransitionstyle = uimodaltransitionstylefliphorizontal;          [self presentmodalviewcontroller:navcontroller animated:yes];                    [navcontroller release];          [controller release];      } else {          if (!self.flipsidepopovercontroller) {                            nslog(@"ipad");                                                  self.flipsidepopovercontroller = [[[uipopovercontroller alloc] initwithcontentviewcontroller:navcontroller] autorelease];          }          if ([self.flipsidepopovercontroller ispopovervisible]) {                            [self.flipsidepopovercontroller dismisspopoveranimated:yes];          } else {              [self.flipsidepopovercontroller presentpopoverfromrect:[info bounds] inview:info permittedarrowdirections:uipopoverarrowdirectiondown animated:yes];          }      }  
this code occurs when info button pressed on mainviewcontroller.

now, in flipsideviewcontroller, need navigation controller push "detailviewcontroller" when object selected on table view.

code using:
code:
- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath {  	      // create , push detail view controller.  	detailviewcontroller *detailviewcontroller = [[detailviewcontroller alloc] initwithstyle:uitableviewstylegrouped];      child *selectedchild = (child *)[[self fetchedresultscontroller] objectatindexpath:indexpath];      // pass selected book new view controller.      detailviewcontroller.child = selectedchild;      uinavigationcontroller *navcontroller = [[uinavigationcontroller alloc] initwithrootviewcontroller:detailviewcontroller];      self.contentsizeforviewinpopover = cgsizemake(320.0, 480.0);                  mainviewcontroller *shareddata = [mainviewcontroller sharedmainviewcontroller];                        [self.navigationcontroller pushviewcontroller:detailviewcontroller animated:yes];  }
however, when select object on table view, animation occurs, plain blue screen navigation controller. why pushviewcontroller not changing view, navigation controller?

thanks,
ahan.tm:)
 

it seems have more 1 navigation controller , you're pushing new view controller onto wrong one.

create navigation controller new view controller root view controller , add navigation controller popover controller content view controller. can later push more view controllers onto navigation controller in popover if want.
 


Forums iPhone, iPad, and iPod Touch iOS Programming


  • iPhone
  • Mac OS & System Software
  • iPad
  • Apple Watch
  • Notebooks
  • iTunes
  • Apple ID
  • iCloud
  • Desktop Computers
  • Apple Music
  • Professional Applications
  • iPod
  • iWork
  • Apple TV
  • iLife
  • Wireless

No comments:

Post a Comment