Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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:以编程方式附加自定义UIView_Ios_Iphone_Xcode_Swift_Uiview - Fatal编程技术网

Ios Swift:以编程方式附加自定义UIView

Ios Swift:以编程方式附加自定义UIView,ios,iphone,xcode,swift,uiview,Ios,Iphone,Xcode,Swift,Uiview,这是一个接近复制的另一个,但我遇到了一些问题,它使它看起来像我没有做正确的。作为参考,我从一个自定义类和xib文件(只需几分钟:)中遵循了这一点,将其拖动到故事板的另一个视图中(如视频结尾所示)一点问题都没有 然而,就我的情况而言,我试图以编程方式调用我的自定义类,并将其作为子视图添加到我的ScrollView实例之一 class MainController: UIViewController { @IBOutlet weak var scrollView: UIScrollView

这是一个接近复制的另一个,但我遇到了一些问题,它使它看起来像我没有做正确的。作为参考,我从一个自定义类和xib文件(只需几分钟:)中遵循了这一点,将其拖动到故事板的另一个视图中(如视频结尾所示)一点问题都没有

然而,就我的情况而言,我试图以编程方式调用我的自定义类,并将其作为子视图添加到我的
ScrollView
实例之一

class MainController: UIViewController {

    @IBOutlet weak var scrollView: UIScrollView!
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        first.directionalLockEnabled = true
        first.pagingEnabled = true
        var item = MyCustomView(frame: CGRectMake(0, 0, self.view.frame.width, 200))
        self.scrollView.addSubview(item)
    }

}
我的自定义视图如下所示:

import UIKit

class MyCustomView: UIView {
    @IBOutlet var view: UIView!
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var dressTitle: UILabel!
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        NSBundle.mainBundle().loadNibNamed("MyCustomView", owner: self, options: nil)
        self.view.frame = bounds
        self.addSubview(self.view)
    }
    override init(frame: CGRect) {
        super.init(frame: frame)

    }
}
还有一个相关的
.xib
文件,其中包含标签和图像


所以我的问题是,我的视图从未出现在我的滚动视图中。我已经仔细检查了滚动视图上的约束。。。我甚至可以添加简单的
UIView
,带有明显可见的维度
CGRectMake(0,0,100,100)
。。。什么也不给。我遗漏了什么?

由于一些混乱,我将
loadFromNib
方法复制到
CustomView.swift
文件中的第二个初始值设定项,从而意外地使它工作起来。正如原始问题中发布的视频教程所示,它只显示了一个初始值设定项。。。。但是在我的例子中,我不得不向
init(frame)
添加额外的代码。例如:

// once with a NSCoder
required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    NSBundle.mainBundle().loadNibNamed("Item", owner: self, options: nil)
    self.view.frame = bounds
    self.addSubview(self.view)
}

// for this to work programmatically I had to do the same...
override init(frame: CGRect) {
    super.init(frame: frame)
    NSBundle.mainBundle().loadNibNamed("Item", owner: self, options: nil)
    self.view.frame = bounds
    self.addSubview(self.view)
}

你能在ViewDidDisplay上打印更多信息吗??例如,self.view.frame和self.scrollView.frame还有self.scrollView.subview.count
customView=MyCustomView(frame:CGRectZero(顶部:0,左侧:0,宽度:200,高度:50)
像这样试试是的,我也试过了,以防万一:)。我的主要
self.view.frame
(0.0,0.0,320.0568.0)
,而
self.scrollView.frame
(0.0,11.0,320.0,200.0)
@ded检查一下:@AshishKakkad如果你不介意的话,请仔细阅读我的问题-我已经在原始问题中引用了该视频作为我遵循的教程。