Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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 在Swift中以编程方式设置XIB文件的约束_Ios_Swift_Xcode_Uikit_Xib - Fatal编程技术网

Ios 在Swift中以编程方式设置XIB文件的约束

Ios 在Swift中以编程方式设置XIB文件的约束,ios,swift,xcode,uikit,xib,Ios,Swift,Xcode,Uikit,Xib,如何在Super view按钮处附加XIB文件 我有一个名为xibFIleView的XIB文件 我调用XIB视图的代码是:- override func viewDidLoad() { super.viewDidLoad() self.view.addSubview(instanceFromNib()) } func instanceFromNib() -> xibFIleView { return UINib(nibN

如何在Super view按钮处附加XIB文件

我有一个名为xibFIleView的XIB文件

我调用XIB视图的代码是:-

 override func viewDidLoad() {
        super.viewDidLoad()

       self.view.addSubview(instanceFromNib())
    }

    func instanceFromNib() -> xibFIleView {

        return UINib(nibName: "xibFileView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! xibFIleView
    }
}
当我运行我的项目时,我的模拟器显示:-


如何将XIB视图附加到超级视图的底部。

您可以通过为XIB视图设置约束或框架来实现这一点

设置约束:

---或---

设置帧:

在viewDidLoad中进行以下更改:


注意:根据需要更改x、y位置和宽度、高度。

使用“自动布局”添加4个约束,这些约束足以指定子视图的宽度、高度、x和y位置。例如:

override func viewDidLoad() {
    super.viewDidLoad()

    let child = instanceFromNib()
    self.view.addSubview(child)
    NSLayoutConstraint.activate([
        child.bottomAnchor.constraint(equalTo: view.bottomAnchor),
        child.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        child.trailingAnchor.constraint(equalTo: view.trailingAnchor),
        child.heightAnchor.constraint(equalToConstant: 300) // <- Your desired view height here
    )]
}

func instanceFromNib() -> xibFIleView {

    return UINib(nibName: "xibFileView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! xibFIleView
}

你试过我发布的解决方案了吗?是的,它对我有效谢谢@Bhumik
override func viewDidLoad() {
    super.viewDidLoad()

    let xibView = instanceFromNib()
    let y_pos = self.view.frame.height - xibView.frame.height
    xibView.frame = CGRect(x: 0, y: y_pos, width: xibView.frame.width, height: xibView.frame.height)
    // change x, y, width, height based on your requirement.
    self.view.addSubview(xibView)
}
override func viewDidLoad() {
    super.viewDidLoad()

    let child = instanceFromNib()
    self.view.addSubview(child)
    NSLayoutConstraint.activate([
        child.bottomAnchor.constraint(equalTo: view.bottomAnchor),
        child.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        child.trailingAnchor.constraint(equalTo: view.trailingAnchor),
        child.heightAnchor.constraint(equalToConstant: 300) // <- Your desired view height here
    )]
}

func instanceFromNib() -> xibFIleView {

    return UINib(nibName: "xibFileView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! xibFIleView
}