gpt4 book ai didi

iphone - 带有 UIButtonType 详细信息披露按钮的路由标记标签 - 按钮不可点击

转载 作者:行者123 更新时间:2023-12-03 20:46:21 25 4
gpt4 key购买 nike

我的路线框架和标记标签有问题。我现在尝试了大约 5 个小时,但没有成功,并且搜索了网络上几乎所有有关此问题的论坛主题。我想添加一个带有 UIButtonTypeDetailDisclosure-Button 的标记标签。当我将按钮添加到应该是标签的 UIView 时,我无法单击该按钮。

我的代码如下:

- (void)tapOnMarker:(RMMarker*)marker onMap:(RMMapView*)map {
UIView *frame = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
button.frame = CGRectMake(0, 0, 34, 34);
button.enabled = YES;
button.userInteractionEnabled = YES;
[button addTarget:self action:@selector(markerLabelButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

[frame addSubview:button];
[marker setLabel:frame];
[marker showLabel];
}

-(void)markerLabelButtonPressed:(id)sender {
NSLog(@"pressed");
}

我希望有人能帮助我解决这个问题。谢谢:)

如果您需要更多信息,请告诉我!

最佳答案

好吧,我终于解决了这个问题。也许这是一个有点肮脏的解决方法,但无论如何它正在工作;)

我修改了route-me框架并添加了一个名为的方法

- (void) tapOnLabelForMarker: (RMMarker*) marker onMap: (RMMapView*) map onLayer:(CALayer *)layer;

在 RMMapView.m 中,我在第 584 行添加了以下行:

 else if ([superlayer superlayer] != nil && [[[superlayer superlayer] superlayer] isKindOfClass: [RMMarker class]]) {
if (_delegateHasTapOnLabelForMarker) {
[delegate tapOnLabelForMarker:(RMMarker*)[[superlayer superlayer] superlayer] onMap:self onLayer:superlayer];
}
}

现在,点击公开按钮,这部分代码将被执行并调用我的方法。当点击标记标签的任何其他区域时,

- (void) tapOnLabelForMarker: (RMMarker*) marker onMap: (RMMapView*) map;

调用方法。

希望这对其他人有帮助;)

关于iphone - 带有 UIButtonType 详细信息披露按钮的路由标记标签 - 按钮不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967909/

25 4 0