Xcode 10 - представление прокрутки не позволяет прокручивать при добавлении кнопки программно - PullRequest
0 голосов
/ 22 мая 2019

Я получаю данные из базы данных и пытаюсь отобразить данные в виде кнопок, у меня это работает, но когда я запускаю приложение на симуляторе Xcode, кнопки отображаются, и я вижу, что они не на экране, но яне могу прокрутить

Я попытался добавить «представление» в «представление прокрутки» с фиксированной высотой, а затем добавить кнопки к этому виду и ничего не показывать.

// Adding the scroll view and the view
@IBOutlet weak var scroll: UIScrollView!
@IBOutlet weak var content: UIView!


// Button Settings
var buttonX = 100
var buttonY = 0
let buttonWidth = 200
let buttonHeight = 50
let image = UIImage(named: "button") as UIImage?

override func viewDidLoad() {
    super.viewDidLoad()

    for element in contentsArray {
         // Adding a button for each client name
         let button = UIButton(type: .system)
         button.setTitle(element, for: .normal)
         button.tintColor = .white
         button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 22)
         button.setBackgroundImage(image, for: .normal)
         button.centerXAnchor.constraint(equalTo: button.centerXAnchor).isActive = true
         button.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside)      
         button.frame = CGRect(x: buttonX, y: buttonY, width: buttonWidth, height: buttonHeight)

         content.addSubview(button)

         buttonY = buttonY + 70
    }
}

Я не получаю никакихошибки в консоли при запуске приложения.

1 Ответ

0 голосов
/ 22 мая 2019

Как только вы закончите добавлять кнопки, установите scrollView.contentSize.height равным вашему расчетному buttonY

scrollView.contentSize.width = self.view.frame.size.width // non scrollable content width
for element in contentsArray {
     ...
     buttonY = buttonY + 70
}
scrollView.contentSize.height = buttonY // scrollable content height
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...