Как исправить проблему с UIImages не отображаются в симуляторе или iPhone для Xcode - PullRequest
0 голосов
/ 07 октября 2019

У меня проблема с тем, что мои изображения не отображаются в симуляторе или iPhone при работе с Xcode. UIImage будет отображаться в main.storyboard, но когда я запускаю приложение в симуляторе или на моем iPhone, появляется все, кроме UIImage.

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

Когда я столкнулся с этой проблемой,Я решил сначала закрыть Xcode, а затем снова открыть проект, это не сработало. Тогда я решил, так как это не очень сложный проект, просто начать с самого начала и сделать приложение снова. Это привело к той же самой проблеме, с приложением, работающим и работающим, но не показывая UIImages.

Затем я решил, что, возможно, проблема была основана на количестве изображений, которые я имел. В исходном учебном приложении, которое я сделал, было всего пять изображений, и оно отлично работало как на симуляторе, так и на iPhone. Сначала в моей версии было 26 изображений, но я подумал, что ради этой работы я уменьшил ее до 5. Не повезло, все еще не работает.

@IBOutlet weak var imageView: UIImageView!

Я не уверен, связано ли это с тем, почему приложение не отображает UIImages, но именно это связано с UIImage, который я вытащил в main.storyboard.

func newBallImage() {

  randomBallNumber = Int.random(in: 0 ... 4)

  imageView.image = UIImage(named: ballArray[randomBallNumber])

}

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

РЕДАКТИРОВАТЬ:

Я также добавил эти рисунки, чтобы показать, что созданное мной учебное приложение показывает мой UIImage при работе в симуляторе, но по какой-то причине он не отображается в моей версии. Первые два изображения - это обучающее приложение, которое я сделал, а вторые два - моя собственная версия, над которой я работаю.

Учебное пособие, за которым я следовал и напечатало Учебное пособие Iследуя и набрав

Моя версия, которую я сделал с использованием того же учебника Она не отображается при запуске симулятора или на моем телефоне

1 Ответ

1 голос
/ 07 октября 2019

Если изображение отображается в раскадровке, это говорит о том, что оно присутствует в вашем комплекте, и вы можете получить к нему доступ должным образом.

Вероятно, изображения не названы так, как вы ожидаете. Это должно быть точное совпадение.

Выберите вид изображения в раскадровке и проверьте в инспекторе атрибутов - как называется это изображение?

Как называются ваши "тысячелетние" 8-шариковые изображения? Что это показывает в каталоге активов? Эти имена изображений должны совпадать с именами в ballArray.

Добавить точку останова к этой строке:

imageView.image = UIImage(named: ballArray[randomBallNumber])

Если код останавливается, отлично, ваша функция вызывается! Теперь вам нужно выяснить, где это идет не так. Когда код останавливается, введите его в отладчике:

po UIImage(named: ballArray[randomBallNumber])

Если это говорит о нуле, то имена ваших изображений не совпадают с тем, что находится в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...