【发布时间】:2015-07-17 06:42:39
【问题描述】:
这是另一个SO question 的近 副本,但是我遇到了一些问题,它看起来好像我没有正确执行。作为参考,我从一个自定义类和 xib 文件中遵循了这个excellent tutorial on creating re-usable views(它只有几分钟:),我完全没有问题将它拖到我的故事板的另一个视图中(如视频末尾所示)
尽管如此,就我而言 — 我正在尝试以编程方式调用我的自定义类,并将其作为子视图添加到我的 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 文件,其中包含标签和图像。
所以我的问题是,我的视图永远不会出现在我的 ScrollView 中。我已经仔细检查了滚动视图上的约束...我什至可以附加简单的UIView 带有明显可见尺寸CGRectMake(0, 0, 100, 100)...而且什么都没有给出。我错过了什么?
【问题讨论】:
-
你能打印更多关于 viewDidAppear 的信息吗?比如 self.view.frame 和 self.scrollView.frame 还有 self.scrollView.subViews.count
-
customView = MyCustomView(frame: CGRectZero(top: 0, left: 0, width: 200, height: 50)试试这样 -
是的,我也试过这些以防万一:)。我的主要
self.view.frame是(0.0, 0.0, 320.0, 568.0)而self.scrollView.frame是(0.0, 11.0, 320.0, 200.0) -
@ded 检查这个:youtube.com/watch?v=o3MawJVxTgk
-
@AshishKakkad 如果您不介意,请仔细阅读我的问题 - 我已经在原始问题中引用了该确切视频作为我遵循的教程。
标签: ios iphone xcode swift uiview