• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在 mkMapView ios 中的单击按钮中发送对象

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:32:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在我的 Mapview 中,我有 sum 注释,annontion 有一个按钮,可以将我发送到另一个 View 以获取有关此注释的更多详细信息

我的代码是

myAnnotation *myAnn = (myAnnotation *)annotation;
    UIButton *discloseButton = [UIButton buttonWithType: UIButtonTypeDetailDisclosure];
    [discloseButton addTarget: self action: @selector(showInfo forControlEvents: UIControlEventTouchUpInside];
    annotationView.rightCalloutAccessoryView = discloseButton;
    UIImageView *leftIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:myAnn.image]];
    UIImage *pinImage = [UIImage imageNamed"pointer.png"];
    [annotationView setImage:pinImage];
    annotationView.leftCalloutAccessoryView = leftIconView;
    return annotationView;

-(IBAction)showInfoid)sender
{
    [self performSegueWithIdentifier"aa" sender:sender];
}

// envoie des données vers la detail d'une mission
- (void)prepareForSegueUIStoryboardSegue *)segue senderid)sender
{
    if ([[segue identifier] isEqualToString"aa"])
    {
        DetailViewController *detailviewcontroller = [segue destinationViewController];
        detailviewcontroller.DetailModal = @[@"aa",@"aaa",@"aaa"];
    }
}

如何通过单击按钮发送对象注释以填充我的表格 detailviewcontroller.DetailModal ?



Best Answer-推荐答案


您可以将所有数据发送到格式化字符串并在 prepareForSegue

中拆分您的字符串

这样的代码

myAnnotation *myAnn = (myAnnotation *)annotation;
UIButton *discloseButton = [UIButton buttonWithType: UIButtonTypeDetailDisclosure];
[discloseButton addTarget: self action: @selector(showInfo forControlEvents: UIControlEventTouchUpInside];

NSString *detail = [NSString stringWithFormat"%@::%@::%@::%@::%@::%@::%@::%@::%@::%@::%@"
        ,myAnn.title,myAnn.description,myAnn.Latitude,myAnn.longitude,myAnn.image,myAnn.type,myAnn.ville,myAnn.point,myAnn.nombreDeVisite,myAnn.nbVTotal,myAnn.idMission];


discloseButton.accessibilityHint = detail;
annotationView.rightCalloutAccessoryView = discloseButton;

在你的函数中prepareForSegue

- (void)prepareForSegueUIStoryboardSegue *)segue senderid)sender
{
    if ([[segue identifier] isEqualToString"aa"])
    {
        UIButton *button = (UIButton *)sender;
        NSArray* infos = [button.accessibilityHint componentsSeparatedByString: @"::"];
        if ([infos count] > 1)
        {
            tit = [infos objectAtIndex:0];
            description = [infos objectAtIndex:1];
            Latitude = [infos objectAtIndex:2];
            longitude = [infos objectAtIndex:3];
            image = [infos objectAtIndex:4];
            type = [infos objectAtIndex:5];
            ville = [infos objectAtIndex:6];
            point = [infos objectAtIndex:7];
            nombreDeVisite = [infos objectAtIndex:8];
            nbVTotal = [infos objectAtIndex:9];
            idMission = [infos objectAtIndex:10];
        }
        DetailViewController *detailviewcontroller = [segue destinationViewController];
        detailviewcontroller.DetailModal = @[tit,description,Latitude,longitude,image,type,ville,point,nombreDeVisite,nbVTotal,idMission];
    }
}

关于ios - 在 mkMapView ios 中的单击按钮中发送对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24000279/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap