【问题标题】:I would like to implement a half UITableView half MapView UIView with a button in the middle我想实现一个半 UITableView 半 MapView UIView,中间有一个按钮
【发布时间】:2012-04-05 17:13:30
【问题描述】:

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

有什么建议吗?

【问题讨论】:

    标签: objective-c ios uitableview uibutton mkmapview


    【解决方案1】:

    在像 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){}
     ];
    

    【讨论】:

    • 哇,谢谢!我已经实现了它,看起来真的很棒!
    • @SergioCalvoGonzález 不客气。如果我的回答对您有帮助,请不要忘记投票。
    【解决方案2】:

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

    【讨论】:

    • 你的意思是创建两个视图控制器吗?或者在同一个 viewController 中实现两者并在按下按钮时更改框架?
    • 1 个视图控制器。 2 意见。更改视图的框架。
    猜你喜欢
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多