我是iPhone开发的初学者,我遇到了MKMapView
的问题。首先让我描述如何重现问题。
UIButton
(尺寸50x50很好,放在角落里)UIButton
与处理方法(触碰)相关联。这是控制器的代码(MapTest3ViewController.h)
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface MapTest3ViewController : UIViewController {
MKMapView *myMapView;
}
@property (nonatomic,retain) IBOutlet MKMapView *myMapView;
- (IBAction) zoomClicked:(id)sender;
@end
(MapTest3ViewController.m)
#import "MapTest3ViewController.h"
@implementation MapTest3ViewController
@synthesize myMapView;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
//myMapView.zoomEnabled = NO;
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
- (IBAction) zoomClicked:(id)sender
{
// when zoom button is clicked, zoom on a specific region
CLLocationCoordinate2D locationCoordinate2D;
locationCoordinate2D.latitude = 35.6994;
locationCoordinate2D.longitude = 139.78;
MKCoordinateSpan coordinateSpan;
coordinateSpan.latitudeDelta = 1;
coordinateSpan.longitudeDelta = 1;
MKCoordinateRegion coordinateRegion;
coordinateRegion.center = locationCoordinate2D;
coordinateRegion.span = coordinateSpan;
[myMapView setRegion:coordinateRegion animated:YES];
}
@end
我在IB中设置了scrollEnabled = YES,zoomEnabled = YES和showUserLocation = YES。该应用程序工作正常。我可以使用捏合进行缩放,我可以滚动,每当我按下“缩放”按钮时,视图区域就会移动到zoomClicked中定义的区域。
问题
当我在zoomEnabled=NO
中设置viewDidLoad
时,我无法再使用捏合手势进行缩放,这很好。但是,如果我“玩”地图,滚动,尝试缩放(当然这不起作用),然后按下缩放按钮,地图会冻结,我无法再滚动或执行任何操作。
再次,如何复制问题(zoomEnabled=NO
)
加载应用程序后,将显示整个地球的地图。做一些捏合手势,滚动地图。 (缩放不起作用)
按下缩放按钮,将地图设置为特定区域(在代码东京,日本) - &gt;地图冻结了。
我的设置
iPhone OS 4.0.1 / iPhone 3GS / XCode 3.2.3 64位/在手机上进行测试。
非常感谢任何帮助。 感谢。