如何在滚动的TableView上创建一个具有固定MapKit的ViewController?
我使用Storyboard编写代码,虽然我是一名经验丰富的开发人员,但这是我第一次使用iOS,XCode和Objective-C。我目前有一种方法,但我正在使用的方法通过将MapKit设置为UITableViewController中的表视图的节头并且看起来不正确。 (它有效,因为我只有一个部分,当我滚动表视图时,MapKit部分将始终被修复。)
执行此操作的代码如下所示:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 200.0;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
MKMapView *mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 200)];
return mapView;
}
不幸的是,这意味着滚动条会出现在Map和表格视图旁边。 相反,我希望滚动条只能与桌面视图一样高。
网站上有关于做stuff like this的其他答案,但没有一个提到滚动条的高度(以及代码的优雅。)
有什么想法吗?
答案 0 :(得分:0)
您提供的链接正是您应该做的,但在Xib文件中还包括表视图上方的MKMapView,并为此正确设置插座(并实现适当的委托协议)。滚动条只会与表视图一样高,因为它是实际表的子视图,通常,这是在UI上执行操作的可接受方式,除非您想以编程方式完成所有操作。
答案 1 :(得分:0)