相关疑难解决方法(0)

如何:在iOS中使用StackView View从XIB自我调整自定义视图

我最近又开始使用Swift进入iOS开发,现在我正在研究定制的UIControl.对于布局和灵活性,此自定义视图使用StackView构建.

我想要实现的目标......

...基本上只是具有与StackView相同的功能,当我将它直接拖到故事板中时我通常拥有它 - 它调整大小以适应没有问题.这与自我调整tableview单元基本相同.

橱窗

我可以将我的CustomView简化为一个简单的例子:它是一个包含三个标签的StackView,Alignment设置为Center,Distribution Equal Centering.StackView将固定到左,右和顶部布局指南(或尾随,前导和顶部).我可以轻松地使用CustomView重新创建,从XIB加载转换为具有相同参数的CustomView - 我将两者作为屏幕截图附加.

Simple StackView的屏幕截图

CustomView的屏幕截图

加载XIB文件并进行设置.

import UIKit

@IBDesignable
class CustomView: UIView {

    // loaded from NIB
    private weak var view: UIView!

    convenience init() {
        self.init(frame: CGRect())
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.loadNib()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.loadNib()
    }

    override func layoutSubviews() {
        super.layoutSubviews()

        // we need to adjust the frame of the subview to no longer match the …
Run Code Online (Sandbox Code Playgroud)

xib ios autolayout uistackview intrinsic-content-size

22
推荐指数
1
解决办法
7730
查看次数

UIStackView 内的 UIView 动态高度

我目前有一个 Stack View 设置,里面有一堆不同的对象,我正在尝试向它添加一个视图。

该视图将在运行时以编程方式在其中添加动态数量的标签。

当我将视图放在堆栈视图中时,我会收到约束错误,这可以通过添加高度约束来修复。

但是,我最初不知道视图的高度,因此无法对此进行限制。

有什么方法可以根据内容大小在 StackView 中自动调整大小?我认为这会是自动的,但是当我不设置高度限制时,视图不会显示

uiview ios swift uistackview

2
推荐指数
1
解决办法
6288
查看次数