Fixed iOS layout

This commit is contained in:
hshristov
2015-11-10 10:04:12 +02:00
parent ed489585ec
commit a2e0ed78fd

View File

@ -196,10 +196,6 @@ export class Frame extends frameCommon.Frame {
this._heightMeasureSpec = heightMeasureSpec;
let result = this.measurePage(this.currentPage);
if (this._navigateToEntry && this.currentPage) {
this.measurePage(this._navigateToEntry.resolvedPage);
}
let widthAndState = view.View.resolveSizeAndState(result.measuredWidth, width, widthMode, 0);
let heightAndState = view.View.resolveSizeAndState(result.measuredHeight, height, heightMode, 0);
@ -224,9 +220,6 @@ export class Frame extends frameCommon.Frame {
this._layoutWidth = right - left;
this._layoutheight = bottom - top;
this.layoutPage(this.currentPage);
if (this._navigateToEntry && this.currentPage) {
this.layoutPage(this._navigateToEntry.resolvedPage);
}
}
public layoutPage(page: pages.Page): void {
@ -363,6 +356,9 @@ class UINavigationControllerImpl extends UINavigationController implements UINav
frame._navigateToEntry = null;
frame._currentEntry = newEntry;
frame.measurePage(newPage);
frame.layoutPage(newPage);
// In iOS we intentionally delay the raising of the 'loaded' event so both platforms behave identically.
// The loaded event must be raised AFTER the page is part of the windows hierarchy and
// frame.topmost().currentPage is set to the page instance.