是否可以从iphone的UI启动/停止位置更新?除了点击“停止”然后再“开始”,我在应用程序中所需要的只是向我显示我的位置。
我似乎无法做到这一点......我的位置显示正确,我还创建了两个IBButton并为每个创建了一个函数,但是,当我点击每一个时,我的应用程序崩溃了那些按钮。我将这些函数放在viewcontroller.m。
下我对此有点新意,所以任何帮助都会受到赞赏。谢谢!
(IBAction)startUpdating :( CLLocation *)位置 {
[location startUpdatingLocation];
}
(IBAction)stopUpdating:(CLLocation *)位置 {
[location stopUpdatingLocation];
}
答案 0 :(得分:2)
start / stopUpdatingLocation是CLLocationManager
实例方法,而不是CLLocation
实例方法...所以创建一个CLLocationManager
实例。
·H
@interface someClass:somesuperclass{
CLLocationManager * locationManager;
BOOL updating;
}
-(IBAction)toggleUpdating:(id)sender;
@end
.m在视图加载/或初始化循环中的某处:
-(void)viewDidLoad{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
}
-(void)viewDidUnload{
[locationManager stopUpdatingLocation];
[locationManager release];
[super viewDidUnload];
}
-(IBAction)toggleUpdating:(id)sender
{
if(!updating)
{
[locationManager startUpdatingLocation];
}else{
[locationManager stopUpdatingLocation];
}
updating = !updating;
}
你上面的动作也永远不会起作用,因为动作冒号之后的东西将是发送动作的对象,你的情况就是UIButton。