【发布时间】:2011-05-16 07:59:13
【问题描述】:
我在 UINavigationController 中有一个 UITableView,其中包含一个 rightBarButtonItem,它应该隐藏 UITableView 并改为显示 MKMapView。该按钮似乎很好用:它隐藏了 UITableView,并显示了 MKMapView。但是,这个 MKMapView 是空的。如,完全白色。我尝试使用 UILabel(仅用于测试目的),但也没有出现,因此当我将 MKMapView(和 UILabel)添加到视图层次结构时,一定会出现问题。一些相关代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.mapView = [[MKMapView alloc] init];
mapView.hidden = YES;
[self.view addSubview:self.mapView];
// Some other stuff, table set up, etc.
}
即继承自 UITableViewController 的类的 viewDidLoad。现在,我使用以下方法,当点击 UINavigationController 的 rightBarButtonItem 时会调用该方法:
- (void) toggleView {
if (self.mapView.isHidden) {
self.mapView.hidden = NO;
self.tableView.hidden = YES;
self.viewButton.title = @"List";
}
else {
self.mapView.hidden = YES;
self.tableView.hidden = NO;
self.viewButton.title = @"Map";
}
}
我确定该函数已被调用,我已使用 NSLog 进行了检查。此外,UITableView 正确消失,并且,我假设 MKMapView(或任何其他 UIView 对象)出现,但为空/完全白色。有人知道为什么我在尝试切换到地图视图时看不到地图吗?
【问题讨论】:
标签: iphone objective-c