gpt4 book ai didi

ios - 我们如何向 UINavigation 添加额外的 UILabel?

转载 作者:行者123 更新时间:2023-11-28 12:28:04 26 4
gpt4 key购买 nike

我想为 UINavigation 添加循环 View 和标签。像这样:

enter image description here

我可以通过这段代码为我的 UINavigation 设置标签:

    if let navigationBar = self.navigationController?.navigationBar {
let firstFrame = CGRect(x: 300, y: 0, width: navigationBar.frame.width/2, height: navigationBar.frame.height)
let firstLabel = UILabel(frame: firstFrame)
firstLabel.text = "First"

navigationBar.addSubview(firstLabel)

}

但是这段代码有两个问题:1.如何正确设置x位置?(为了测试我设置了 300 值,但是这个值在不同的屏幕尺寸上显示不同的位置)2.如何给这个标签设置循环背景?

最佳答案

您可以通过编程方式将 View (红色圆圈)和标签(编号 16)作为 subview 添加到栏按钮项的按钮。

你应该做的是:

  • 将按钮作为 IBOutlet 连接到它的 ViewController:

enter image description here

确保连接的组件是 UIButton,而不是 UIBarButtonItem

如您所见,我将其命名为btnMenu

  • 创建您的 View (红色圆圈和数字标签)并将其添加到 btnMenu:

它应该类似于:

import UIKit

class ViewController: UIViewController {
//...

@IBOutlet weak var btnMenu: UIButton!

override func viewDidLoad() {
super.viewDidLoad()

//...

// setup the red circle UIView
let redCircleView = UIView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
redCircleView.backgroundColor = UIColor.red
redCircleView.layer.cornerRadius = view.frame.size.width / 2

// setup the number UILabel
let label = UILabel(frame: CGRect(x: 4, y: 0, width: 20, height: 20))
label.textColor = UIColor.white
label.font = UIFont.systemFont(ofSize: 10)
label.text = "16"

// adding the label into the red circle
redCircleView.addSubview(label)

// adding the red circle into the menu button
btnMenu.addSubview(redCircleView)

//...
}

//...
}

就是这样!

UIButtonUIView 的子类,这意味着您可以向它添加 subview (add​Subview(_:​))。

输出:

enter image description here

希望这对您有所帮助。

关于ios - 我们如何向 UINavigation 添加额外的 UILabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com