当将自定义UIView作为标记信息窗口(Google Maps iOS SDK)返回时,应用程序将被冻结
我有一个自定义的当将自定义UIView作为标记信息窗口(Google Maps iOS SDK)返回时,应用程序将被冻结,ios,objective-c,iphone,cocoa-touch,google-maps-sdk-ios,Ios,Objective C,Iphone,Cocoa Touch,Google Maps Sdk Ios,我有一个自定义的UIView(带有xib、.h和.m文件),我希望它成为我的GMSMarker信息窗口。但是当我在-mapView:markerInfoWindow:方法中返回我的自定义UIView时,应用程序就被冻结和卡住了(甚至没有崩溃) 我的代码是: -(UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker { //Creating "infoWindow"(infoWindow) a
UIView
(带有xib
、.h
和.m
文件),我希望它成为我的GMSMarker
信息窗口。但是当我在-mapView:markerInfoWindow:
方法中返回我的自定义UIView
时,应用程序就被冻结和卡住了(甚至没有崩溃)
我的代码是:
-(UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker
{
//Creating "infoWindow"(infoWindow) and setting it with nib file called "infoWindow"
CustomMarkerInfoWindow *infoWindow=[[[NSBundle mainBundle] loadNibNamed:@"CustomMarkerInfoWindow" owner:self options:nil] lastObject];
//Returning "infoWindow"(infoWindow)
return infoWindow;
}
我不知道为什么它会冻结,我确信这段代码在过去是有效的,所以我不明白是什么错了
有人能帮我吗
谢谢大家! 将此方法放入自定义视图实现文件中
-(void)didMoveToSuperview{
self.superview.autoresizesSubviews = NO;
}
将此方法放在自定义视图实现文件中
-(void)didMoveToSuperview{
self.superview.autoresizesSubviews = NO;
}
在创建
CustomMarkerInfoWindow
对象的位置,应用程序是否冻结?不管怎样,运行代码,当它冻结时,在调试器中暂停应用程序并查看堆栈跟踪。你将能够准确地看到发生了什么stuck@laynemoseley不,当我返回对象时,它会冻结,这真的很奇怪,因为如果我创建另一个UIView
(例如:TestView
)它就会工作fine@laynemoseley“我怎么才能找到这个堆栈跟踪?”laynemoseley我想我找到了,它在线程23结束时崩溃:signal SIGBART应用程序是否在创建CustomMarkerInfoWindow
对象的位置冻结?无论如何,运行代码,当它冻结时,在调试器中暂停应用程序并查看堆栈跟踪。你将能够准确地看到发生了什么stuck@laynemoseley不,当我返回对象时,它会冻结,这真的很奇怪,因为如果我创建另一个UIView
(例如:TestView
)它就会工作fine@laynemoseley“我怎么才能找到这个堆栈跟踪?”laynemoseley我想我找到了,它在线程23:signal SIGBART的末尾崩溃