Я создал очень простой пользовательский класс из UIView. Наверху есть UIScrollView. Внутри UIScrollView я поместил пару кнопок. Положение кнопок находится вне прокрутки.UIButton в scrollView позиция неожиданная
Вот код.
class TestView: UIView {
var tabView: UIScrollView = UIScrollView()
var buttons = [UIButton]()
var tabHeight: CGFloat = 40.0
let screenWidth: CGFloat = UIScreen.mainScreen().bounds.width
var titles = [String]()
var numberOfTitles = 0
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.addSubview(tabView)
}
func createUI() {
tabView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: tabHeight)
tabView.backgroundColor = UIColor.grayColor()
tabView.contentSize = CGSize(width: screenWidth, height: tabHeight)
numberOfTitles = titles.count
for var i = 0; i < numberOfTitles; ++i {
var button = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
button.frame = CGRect(x: 50.0*CGFloat(i), y: 0, width: 50.0, height: tabHeight)
button.setTitle(titles[i], forState: UIControlState.Normal)
button.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
tabView.addSubview(button)
}
}
}
Вот как это выглядит, когда я отлаживаю представление иерархии.
Но если я просто изменить UIScrollView к UIView, как показано ниже,
var tabView: UIView = UIView()
Затем расположение кнопки правильно, как показано ниже.
Я не мог понять, почему. Пожалуйста помоги. Благодаря!
Извините, это не причина. Я нашел проблему. Контроллер представления встроен в контроллер навигации. И по умолчанию выбрано «Настроить прокрутки». Если я отменил выбор этой опции, исходный код будет работать. Благодарим за помощь. – user890207