Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当父UIview';s约束减少了吗?_Ios_Swift - Fatal编程技术网

Ios 当父UIview';s约束减少了吗?

Ios 当父UIview';s约束减少了吗?,ios,swift,Ios,Swift,但是UiCalendarViewConstraint.constantchange没有多大作用,因为子组件calendar有自己的高度,并且保持不变。您需要向子组件添加约束,并在父组件的大小更改时捕获引用。您可以根据高度更改子组件的约束。 但是,如果从顶部和底部将子对象与父对象固定在一起,则当父对象大小更改时,它会自动更改 class ViewController{ @IBOutlet weak var UiCalendarView: UIView!

但是
UiCalendarViewConstraint.constant
change没有多大作用,因为子组件
calendar
有自己的高度,并且保持不变。

您需要向子组件添加约束,并在父组件的大小更改时捕获引用。您可以根据高度更改子组件的约束。 但是,如果从顶部和底部将子对象与父对象固定在一起,则当父对象大小更改时,它会自动更改

class ViewController{                

    @IBOutlet weak var UiCalendarView: UIView!
    @IBOutlet weak var UiCalendarViewConstraint: NSLayoutConstraint!
    let calendar = FSCalendar(frame: CGRect(x: 0, y: 0, width: 373, height:300))


    override func viewDidLoad() {
        super.viewDidLoad()
        UiCalendarView.addSubview(self.calendar)
        UiCalendarViewConstraint.constant = 23
    }
}

当您自动更改父视图的高度或宽度时,这段代码将允许子视图填充父视图,它将调整其大小

这段代码有很多问题。您在哪里初始化约束?在您的代码段中,它从未初始化过,因此您应该在question@wammy-欢迎使用堆栈溢出。第一个注意事项:不要将显式框架与自动布局混合使用。其次,阅读一些自动布局教程。第三,请回顾一下Hello wammy,你可以用纵横比或倍增器来修复它。但我至少需要一个屏幕截图来理解你的观点。@ketakiDamale,谢谢你,伙计,这是一个庞大的代码,所以我几乎没有尝试出一些伪代码来更好地说明我的问题。无论如何,感谢您的支持:)如果可能的话,我建议您加入一个小片段,这样会更容易理解
let parentView = UIView()
let childView = UIView()
parentView.addSubView(childView)
childView.translatesAutoresizingMaskIntoConstraints = false
parentView.translatesAutoresizingMaskIntoConstraints = false

childView.topAnchor.constraint(equalTo: parentView.topAnchor).isActive = true
childView.bottomAnchor.constraint(equalTo: parentView.bottomAnchor).isActive = true
childView.leadingAnchor.constraint(equalTo: parentView.leadingAnchor).isActive = true
childView.trailingAnchor.constraint(equalTo: parentView.trailingAnchor).isActive = true