MKMapView:setRegion不起作用!

Mar*_*tin 4 iphone region iphone-sdk-3.0 mkmapview

Aaaarg ......好吧,让我们冷静吧.

有人设置MKMapView的区域有任何问题吗?它从未与我合作过.

这段代码:

-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
    // Current region (just initialised)
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
    // New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
                                                   span);
NSLog(@"%f, %f - %f, %f",   region.center.latitude,
                            region.center.longitude, 
                            region.span.latitudeDelta, 
                            region.span.longitudeDelta);
    // Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
}
Run Code Online (Sandbox Code Playgroud)

返回该日志:

30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, 0.000000
Run Code Online (Sandbox Code Playgroud)

你知道为什么吗 ??!

非常感谢,你可以让我免于自杀X(

市场

编辑:当然,我在设备上,连接到互联网.

Mar*_*tin 12

我不完全理解以前的日志,但我知道我的错误在哪里.

实例化的MKMapView未使用框架初始化,但autoresizingMask设置为> 0.

当调用setRegion方法时,我的视图还没有框架.我认为区域值是根据视图帧计算的,因此无法找到这些值.

只需在执行setRegion之前设置帧,它就会正常显示.

再见!