按钮作为注释视图的子视图添加不起作用吗?
创始人
2024-11-04 10:30:31
0次

按钮作为注释视图的子视图添加不起作用,可能是因为注释视图默认是不接受用户交互的。要解决这个问题,可以通过设置注释视图的isUserInteractionEnabled属性为true来启用用户交互。

下面是一个示例代码,演示了如何将按钮作为注释视图的子视图,并使其可以响应用户的点击事件:

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 创建一个注释视图
        let annotationView = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        annotationView.backgroundColor = .red
        annotationView.isUserInteractionEnabled = true // 启用用户交互
    
        // 创建一个按钮作为注释视图的子视图
        let button = UIButton(frame: CGRect(x: 10, y: 10, width: 80, height: 80))
        button.setTitle("按钮", for: .normal)
        button.backgroundColor = .blue
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
        
        // 将按钮添加到注释视图上
        annotationView.addSubview(button)
        
        // 将注释视图添加到视图控制器的视图上
        view.addSubview(annotationView)
    }
    
    @objc func buttonTapped() {
        print("按钮被点击了")
    }
}

在上述示例中,我们首先创建了一个注释视图annotationView,并将其isUserInteractionEnabled属性设置为true。然后,我们创建了一个按钮button作为注释视图的子视图,并为按钮添加了一个点击事件的目标方法buttonTapped。最后,我们将按钮添加到注释视图上,并将注释视图添加到视图控制器的视图上。

这样,当用户点击按钮时,buttonTapped方法将被调用,并输出"按钮被点击了"。

相关内容

热门资讯

程序员教你!wepoker私局... wepoker私局辅助AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数...
存在挂教程!wepoker私人... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
揭秘关于!wepoker辅助插... 您好:wepoker辅助插件功能这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
重大发现!wepoker有插件... 您好:wepoker有插件吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
玩家交流!wepoker免费脚... 您好,玩家交流!wepoker免费脚本咨询,WPK真的有透视吗下载(固有真的有辅助)这款游戏可以开挂...
总算了解!!德扑之星透视辅助插... 德扑之星透视辅助插件AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据...
一秒答解!wejoker辅助脚... 一秒答解!wejoker辅助脚本,德普之星软件下载插件(原来有透视)AI 是一款可以让一直输的玩家修...
新版2025教程!wepoke... 新版2025教程!wepoker辅助器怎么弄,WPK开挂脚本平台(素来存在有开挂)AI 智能体黑科技...
一分钟了解!wepoker游戏... 您好:wepoker游戏下载这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
必知教程!wpk俱乐部是做什么... 您好,必知教程!wpk俱乐部是做什么的,德普之星透视脚本教程(真是存在有透视挂)这款游戏可以开挂的,...