当用户使用地图视图移动时,我想添加一些逻辑,即他进行平移触摸.但是当我添加手势识别器并且我想记录触摸时,没有任何反应.当我在另一个视图控制器中尝试它并将识别器添加到控制器的视图时,它可以正常工作.
这是我的代码(map视图是应用程序委托的属性,因为即使它不可见,我还需要用它做一些其他的事情):
- (void)viewDidLoad
{
...
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)];
[appDelegate.mapView addGestureRecognizer:panGesture];
[panGesture release];
}
- (void)showPan
{
NSLog(@"pan!");
}
Run Code Online (Sandbox Code Playgroud)
我使用最新的iOS 4.2.1
谢谢你的建议.
我根本不明白它,但NSTimer在我的应用程序肯定是在后台运行.我有一个NSLog由计时器运行的mehod,它在后台进行记录.它位于带有iOS 4.2.1的iPhone 4上.我在Info.plist中声明了位置背景支持.
我在这里和其他地方阅读了文档和许多讨论,这是不可能的.这是一个iOS错误吗?还是没有文档的功能?我不想使用它并在不久的将来发现,例如随着iOS 4.3的出现,Apple默默地"修复"它并且应用程序无法正常工作.
有人知道更多吗?
当我尝试在我的MKMapView中移动MKCircle时,我收到此错误消息:-[MKCircle setCoordinate:] unrecognized selector ...但根据文档,MKCircle符合MKAnnotation协议,所以它应该setCoordinate:实现方法(此外Xcode为我提供自动提示,调试器不显示任何警告).
有谁知道问题出在哪里?
非常感谢.
我想像谷歌地图一样遵循用户的蓝点.这意味着当位置发生变化时,地图(或它的中心)应该顺利地跟随它.但是当我使用委托的标准方式时:
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
[map setCenterCoordinate:map.userLocation.coordinate animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
或关键值观察者mapview.userLocation然后移动地图是非常"波涛汹涌",即使我使用animated参数,它也会迅速"跳"到新位置.
此外,我认为蓝点本身并不像原生谷歌地图应用程序那样平稳地移动,并且经常跳转到新位置而不是移动到那里.
谢谢你的帮助.
我的模型由有项目的组织和有项目的组织组成。这些存储桶可以共享给同一组织中的其他项目。我定义了项目共享规则,这意味着当第一个与另一个共享存储桶时,两个项目处于这种关系。
define
organization sub entity,
plays organizationRole,
key identifier;
project sub entity,
plays projectRole,
plays projectSourceRole,
plays projectTargetRole,
plays transitiveProjectSourceRole,
plays transitiveProjectTargetRole,
key identifier;
bucket sub entity,
plays bucketRole,
plays sharedBucketSourceRole,
plays sharedBucketTargetRole,
key identifier;
organizationToProject sub relation,
relates organizationRole,
relates projectRole;
projectToBucket sub relation,
relates projectRole,
relates bucketRole;
sharedBucket sub relation,
relates sharedBucketSourceRole,
relates sharedBucketTargetRole;
projectSharing sub relation,
relates projectSourceRole,
relates projectTargetRole;
project-sharing sub rule,
when {
(projectRole: $ps, bucketRole: $bs) isa projectToBucket;
(projectRole: $pt, bucketRole: $bt) isa projectToBucket; …Run Code Online (Sandbox Code Playgroud) cocoa-touch ×3
mkmapview ×3
objective-c ×3
background ×1
ios ×1
iphone ×1
nstimer ×1
runloop ×1