Это около дубликат этого другого SO question, однако я сталкиваюсь с некоторыми проблемами, которые он заставляет выглядеть так, будто я делаю это неправильно. Для справки я последовал за этим excellent tutorial on creating re-usable views из пользовательского класса и xib-файла (это всего несколько минут :), и у меня нет никаких проблем, перетаскивая это в другое представление на мою раскадровку (как показано в конце видео)Быстро: добавьте пользовательский UIView программно
Тем не менее для моего случая - я пытаюсь вызвать свой пользовательский класс программно и добавить его в качестве подсмотра в один из моих 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 (вверху: 0, слева: 0, ширина: 200, высота: 50) 'попробуй вот так –
Да, я пробовал это на всякий случай тоже :). Мой главный 'self.view.frame' -' (0.0, 0.0, 320.0, 568.0) ', а' self.scrollView.frame' - '(0.0, 11.0, 320.0, 200.0)' – ded