好吧,这就是我想在我的应用程序中做的事情:我想在屏幕的上半部分实现一个带有地图的 UIView,在另一半实现一个表格视图,中间有两个按钮。如果我按下其中一个按钮,地图将全屏显示,如果我按下另一个按钮,tableView 将适合所有屏幕。
有什么建议吗?
好吧,这就是我想在我的应用程序中做的事情:我想在屏幕的上半部分实现一个带有地图的 UIView,在另一半实现一个表格视图,中间有两个按钮。如果我按下其中一个按钮,地图将全屏显示,如果我按下另一个按钮,tableView 将适合所有屏幕。
有什么建议吗?
在像 UINavigationController 这样的视图控制器中,创建一个具有视图上半部分大小的框架的 MKMapView,并将其添加为视图控制器的子视图。然后我会创建一个 UIToolbar 来保存您的按钮,并使其框架的顶部与 MKMapView 的底部对齐。最后创建一个 UITableView ,它的框架就在其他框架的下方(确保你连接了它的代表)。
然后将使地图全屏显示的 UIBarButtonItem 的目标分配给为所有三个视图的帧设置动画的方法,如下所示:
[UIView animateWithDuration:0.24
delay:0.0
options:UIViewAnimationCurveEaseOut
animations:(void (^)(void)) ^{
self.toolbar.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN, 320, TOOLBAR_HEIGHT);
self.mapView.frame = CGRectMake(0,0,320,MAP_HEIGHT_FULLSCREEN);
self.tableView.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN+TOOLBAR_HEIGHT, 320, MAP_HEIGHT_FULLSCREEN-MAP_HEIGHT);
}
completion:^ (BOOL finished){}
];
按照您的计划创建两个视图,单击一个按钮,更改一个视图的框架以适应全屏,如果单击另一个按钮,对另一个视图执行相同的操作。