首页 > 解决方案 > 添加带有图像的按钮会扭曲堆栈视图

问题描述

我在stackview中有2个文本字段,它们有一个选择器作为输入(怀疑这会有所不同)。这是附上的第一张图片在此处输入图像描述

现在,当我添加另一个水平堆栈视图并添加一组按钮时,它会完全扭曲文本字段。在此处输入图像描述

我该如何解决?按钮行需要与第一张图像中的文本字段高度相同。

而且我的按钮标签也没有显示。

这是水平堆栈视图的代码:

hStack?.translatesAutoresizingMaskIntoConstraints = false
        hStack?.topAnchor.constraint(equalTo: stackView.topAnchor, constant: 0).isActive = true
        hStack?.bottomAnchor.constraint(equalTo: stackView.bottomAnchor, constant: 0).isActive = true
        hStack?.leadingAnchor.constraint(equalTo: stackView.leadingAnchor, constant: 0).isActive = true
        hStack?.trailingAnchor.constraint(equalTo: stackView.trailingAnchor, constant: 0).isActive = true
        hStack = UIStackView(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
        hStack?.axis = .horizontal
        hStack?.distribution = .fillEqually
        hStack?.spacing = 4
        allViews.append(hStack!)

这是我创建按钮的方式:

let arrayOfDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
        for index in 0...6 {
            let button  = UIButton(frame: CGRect(x: 0, y: 0, width: 10, height: 10))
            button.setImage(UIImage(named: "icon_unchecked"), for: .normal)
            button.setImage(UIImage(named: "icon_checked"), for: .selected)
            button.setTitle(arrayOfDays[index], for: .normal)
            button.addTarget(self, action: #selector(dayTapped(_:)), for: .touchUpInside)
            hStack?.addArrangedSubview(button)
        }

按钮必须是完美的圆形,与第一张图片中的文本字段高度相同,并且标签应该显示。

标签: iosswiftuikit

解决方案


推荐阅读