TransitionFromView删除以前的观点(TransitionFromView remov

2019-08-06 02:09发布

我在使用TransitionfromView而意见在我的应用程序之间转换的问题。

建立

这是视图控制器的基本设置。 它里面有两种观点。 一个的MKMapView和一个UITableView。 当按下切换按钮,它应该是地图和表之间交替视图。

这是我的* .h文件

@interface BrowseBeaconsViewController : UIViewController <UITableViewDelegate, MKMapViewDelegate, UITableViewDataSource, CLLocationManagerDelegate >
{

__weak IBOutlet UIBarButtonItem *refreshBeacons;
__weak IBOutlet UIBarButtonItem *toggleView;
MKMapView* beaconMapView;
__weak IBOutlet UITableView* beaconTableView;
}

因此,实现代码如下来自于故事板,而在程序中创建的MapView。

问题

[UIView transitionFromView:beaconTableView toView:beaconMapView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {}];

当我从TableView中从MapView的过渡的tableview的值是空值(0x0000000)。 我明白了transitionfromview的行为是删除从父视图的视图。 但是,当我尝试添加tableview中,因为它不工作的过渡后一个子视图,因为值为空。 所以我的问题是我怎么添加tableview中的过渡之后,如果认为零化?

PS:我道歉,如果这是一个简单的问题,但我是新来的iOS编程,也尝试在论坛上发帖寻找这个问题之前。

Answer 1:

从那个方法的文档:

“在默认情况下,在fromView视图替换在由toView视图视图层次。如果两种观点都是你的视图层次结构中有一部分,您可以在选项参数UIViewAnimationOptionShowHideTransitionViews选项简单地隐藏或显示他们。”

所以,如果你想两者意见仍然存在,beaconMapView添加到视图层次结构,并包含UIViewAnimationOptionShowHideTransitionViews选项。



Answer 2:

你需要保持一个独立的参考beaconTableView或者干脆声明为强,而不是软弱。 由于beaconTableView已被宣布为弱,iOS 5以上明白,你不从其父视图中删除它需要它挂在一次给它的所有其他引用已被删除,在这种情况下。



Answer 3:

删除弱,否则视图获取尽快,因为它看起来不再需要释放。



文章来源: TransitionFromView removes previous view