@Override protected void didViewUnLoaded() { IViewController<T> topViewController = null; if (_topControllerDirection == TopControllerDirectionLeft) { topViewController = getLeftViewController(); if (topViewController != null && topViewController.isViewAppeared()) { topViewController.viewRemoveForSuperView(false); } } if (_topControllerDirection == TopControllerDirectionRight) { topViewController = getRightViewController(); if (topViewController != null && topViewController.isViewAppeared()) { topViewController.viewRemoveForSuperView(false); } } topViewController = getCenterViewController(); if (topViewController != null && topViewController.isViewAppeared()) { topViewController.viewRemoveForSuperView(false); } _contentView = null; _gestureDetector = null; super.didViewUnLoaded(); }