swift - Swift 中具有多个可访问标签和图像的按钮

标签 swift button uibutton uiimage uilabel

我需要创建自定义按钮类,重用它 4 次,我还需要覆盖它的文本和图像名称。我的下一个问题是如何以某种方式动态设置它的框架(现在它是静态的),因为我需要 2x2 网格中的这 4 个按钮。

我正在尝试创建完全像这样的按钮:https://imgur.com/a/dNhUGhc .

我已经对此进行了编码,但它是静态的,在 ViewController 中我无法编辑(覆盖)这些标签和图像名称。如果我尝试重用此类,我会将它们放在同一个位置,因为框架设置完全相同。

我正在子类化 UIButton。如果存在更合适的东西,请告诉我。

添加标签的代码

        // city label
        let cityRect = CGRect(x: 0, y: 20, width: buttonWidth, height: 25)
        let cityLabel = UILabel(frame: cityRect)
        cityLabel.text = "Label"
        cityLabel.font = UIFont.systemFont(ofSize: 17, weight: .semibold)
        cityLabel.textAlignment = .center
        addSubview(cityLabel)

添加图片代码

        // image
        let imageView = UIImageView(image: UIImage(named: "something"))
        imageView.frame = CGRect(x: 0, y: 60, width: 40, height: 40)
        imageView.center.x = self.center.x - 20
        addSubview(imageView)

你们能帮帮我吗?谢谢

最佳答案

看起来您需要做的是使用 IBOutlet。基本上,IBOutlet 会在您的代码(自定义 UIView 或 UIViewController 子类)中为您提供对您在 xib 或 Storyboard 中设置的按钮的引用。然后您可以在运行时对其进行任何更改或调整。

检查 this了解有关 IBOutlets 以及如何在您的项目中设置它们的更多信息。

关于swift - Swift 中具有多个可访问标签和图像的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57253222/

相关文章:

iOS - 如何将 GADBannerView 添加到 UICollectionReusableView

iPhone 按钮图像

ios - 在swift4中查找按钮的文本颜色

iOS 7 圆形框架按钮

swift - 线程 1 : EXC_BAD_ACCESS (code=1, 地址=0x10) SwiftUI @main 应用程序

ios - 核心数据更新发生不当

c# - ASP.net 按钮 onserverclick 仅在未定义 onclick 时有效

c++ - 为什么我的 Button 看起来像是 1990 年的?

ios - "framework not found AFNetworking for architecture arm64"用于我的测试目标

javascript - 创建多个弹出按钮