我有两个视图控制器相同,唯一的区别是首先显示一个mapview而另一个不显示mapview。
在这种情况下,我有分段控件,其中段0显示带有mapView的视图控制器,但我有一些其他数据没有要在mapview中显示的信息。我想知道如何做到这一点(使用if语句或类似的东西),因为其他UIView没有segue。
答案 0 :(得分:1)
这实际上是一种不好的做法。如果您的应用需要2个或更多具有类似设计的屏幕,那么您应该只使用一个viewcontroller / scene。这样,如果发生设计更改,您只需要更改一次。
只有地图可见性不同的2个视图控制器并不难编码。你只需为这个viewcontrollerA声明一个属性bool:
@property (nonatomic, assign) BOOL isMapVisible;
然后在viewControllerA上的viewDidload上,通过以下方式设置此地图的可见性:
if (!_isMapVisible) {
[_mapView setHidden = YES];
}
然后调用者viewcontroller实现prepareForSegue,并在执行segue到viewControllerA之前相应地设置_isMapVisible。
答案 1 :(得分:0)
如果要隐藏它,可以将mapview height设置为0。像:
mapView.frame.size.height = 0