2016-06-21 10 views
0

Jemand in diesem Problem aufgetreten? Wenn ich von einem UIViewController Push zu einem Storyboard-Basis viewController und versteckt die BottomBar, die Storyboard-Basis viewController kommt zuerst eine weiße Unterseite, und die Storyboard-Basis viewController 's unteren Steuerelemente bewegen sich auf einmal, bedeckt die weiße Leerstelle. Einige Freunde wissen, warum es erscheint? Und wie löst man dieses Problem?Q: Ich habe ein Problem mit navigationController push

Der Code ist hier:

InformationCollectionViewController *info = [self.sb instantiateViewControllerWithIdentifier:@"InformationCollectionViewController"]; 
info.hidesBottomBarWhenPushed = YES; 
[self.navigationController pushViewController:info animated:YES]; 

BTW: Wenn ich gesetzt [self.navigationController pushViewController:info animated:NO]; wird es dieses Problem nicht zeigen.

Antwort

0

1.Wenn Sie animiertes NO einstellen, wird der letzte Status angezeigt.
2. Wenn Sie einige Ansichten auf die untere Layout-Anleitung legen, sehen Sie die untere Leiste am Anfang der Animation. Wenn Sie ein Layout für die oberste Ansicht erstellen, wird dieses Problem nicht auftreten.

+0

Ihre Antwort ist richtig, aber, weil ich Autolayout verwenden, um meine Ansichten zu planen, gibt es 2 Ansichten zu Base-On Bottom Layout Guide, sollte ich wie das Problem zu lösen? – lme

+0

@LeoMaer Wenn Sie ein Layout hinzufügen, können Sie auswählen, welchem ​​Layout Sie das Layout hinzufügen möchten. – Lumialxk

+0

Die unteren beiden Ansichten sind eingeschränkt. – lme

0

beschloss ich dieses Problem durch beziehe zu: This link

Und es gibt einige andere mit der Referenz. In der info Controller: view Ich möchte Constraint, nur sollte die untere Constraint ändern.Bevor Xcode 7, die Lösung vielleicht dies: constrain view.bottom to superview.bottom not bottomLayoutGuide in storyboard Aber nach Xcode7, meine Lösung ist gearbeitet.

Meine Lösung ist:

1.Press Ctrl und ziehen die view die ich View zum info Controllers Constraint wollen, die in der linken column.Then die constraints picker zeigen ist.

2.Dann drücke ich ALT, um die anderen constraints anzuzeigen, enthält die Bottom Space to Container Margin, jetzt sollten Sie tun, ist es zu wählen.

3.Then können Sie die Bottom Margin Alignment Constraint bearbeiten, stellen Sie sicher,

Erster Artikel: Superview.Bottom Margin
Relation: Equal Zweiter Punkt: YourView.Top

BTW: Thx @Lumialxk dank über Ihre Erleuchtung für diese Frage .