iphone - Nav Bar button loading random view before loading appropriate view -
i have button on answer view controller (a view controller displays answers) if user hits button created switches view has title of "back" , empty tableview, before switching main view of questions answered displayed. why happening? brief thing, noticeable!
uinavigationbar *navbar = [[uinavigationbar alloc] initwithframe:cgrectmake(0, 0, [uiscreen mainscreen].bounds.size.width, 48)]; navbar.delegate = self; uinavigationitem *backitem = [[uinavigationitem alloc] initwithtitle:@"back"]; [navbar pushnavigationitem:backitem animated:no]; uinavigationitem *topitem = [[uinavigationitem alloc] initwithtitle:@"question"]; [navbar pushnavigationitem:topitem animated:no]; topitem.leftbarbuttonitem = nil; [self.view addsubview:navbar]; - (bool)navigationbar:(uinavigationbar *)navigationbar shouldpopitem:(uinavigationitem *)item { viewcontroller *controller = [[viewcontroller alloc] initwithnibname:@"viewcontroller" bundle:nil]; controller.modaltransitionstyle = uimodaltransitionstylefliphorizontal; [self presentviewcontroller:controller animated:yes completion:nil]; return true; } - (void)navigationbar:(uinavigationbar *)navigationbar didpopitem:(uinavigationitem *)item { viewcontroller *controller = [[viewcontroller alloc] initwithnibname:@"viewcontroller" bundle:nil]; controller.modaltransitionstyle = uimodaltransitionstylefliphorizontal; [self presentviewcontroller:controller animated:yes completion:nil]; }

you're creating own uinavigationbar , uinavigationitem instances , shouldn't be. situation describe uinavigationcontroller for. when using uinavigationcontroller creates uinavigationbar , each uiviewcontroller show on screen (push navigation controller) has own uinavigationitem (with title taken title of view controller).
the reason empty 'view' titled "back" you're creating it:
uinavigationitem *backitem = [[uinavigationitem alloc] initwithtitle:@"back"]; [navbar pushnavigationitem:backitem animated:no]; dispense of this, create uinavigationcontroller , make question view controller it's root view controller, add navigation controller screen. when question answered, push answer view controller:
[self.navigationcontroller pushviewcontroller:answerviewcontroller animated:yes];
Comments
Post a Comment