Я предполагаю, что вы не делаете это в фоновом потоке или чем-то еще.Если да, то вы должны знать, что UIKit предназначен для использования только из основного потока.
while (continueRunningScript == NO) {
// Stay here until button is pressed.
}
Это не будет работать так, как вы этого хотите.Это войдет в бесконечный цикл.Поток выполнения не будет проходить дальше этой точки для обработки любых входных событий, так что переменная никогда не получит шанса быть установленной на YES
.
. Вы должны помнить, что весь код пользовательского интерфейса будетзапустить после выхода из вашего метода.Если вы убираете чистое, то вы просматриваете все добавленные изображения: , затем , пользовательский интерфейс обновляется.Вот почему вы видите только последнее изображение - остальные были добавлены, но они находятся под самым верхним (последним) изображением.
Если вы хотите, чтобы новое изображение отображалось каждый раз, когда пользователь нажимает кнопку, тогда вы должны иметь переменную экземпляра, которая отслеживает, какое изображение является текущим, и написать метод, чтобы обновить эту переменную и показать следующее изображение.Почти во всех случаях занятый цикл, подобный приведенному выше, является неправильным.
Кроме того, вы должны знать, что вам не нужно добавлять новый UIImageView
каждый раз, когда вы хотите отобразить новое изображение.Вы можете просто обновить свойство image
для существующего представления изображения, чтобы изменить отображаемое изображение.