7

好吧,这就是我想在我的应用程序中做的事情:我想在屏幕的上半部分实现一个带有地图的 UIView,在另一半实现一个表格视图,中间有两个按钮。如果我按下其中一个按钮,地图将全屏显示,如果我按下另一个按钮,tableView 将适合所有屏幕。

有什么建议吗?

4

2 回答 2

7

在像 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){}
 ];
于 2012-04-05T17:29:28.077 回答
1

按照您的计划创建两个视图,单击一个按钮,更改一个视图的框架以适应全屏,如果单击另一个按钮,对另一个视图执行相同的操作。

于 2012-04-05T17:15:17.033 回答