Я делаю приложение в swift, которое имеет центральную карту (UIViewController) с несколькими уровнями, на которые вы можете щелкнуть (каждый из которых представлен идентичным изображением флага). Эти уровни отображаются серым цветом, пока они не разблокируются, а затем становятся доступными и меняют цвет. На симуляторе iOS все флаги появляются на карте и все работает. Однако на iPhone после первых 3 уровней половина флагов исчезает и никогда не возвращается. Вот функция, которая помещает все изображения уровня:
func createButton(tag:Int, widthRatio:Double, heightRatio:Double, completed:Bool){
let buttonLevel = UIButton(type: .custom)
buttonLevel.tag = tag
buttonLevel.frame.size = CGSize(width: Double(buttonWidth), height: Double(buttonHeight))
buttonLevel.center = CGPoint(x: Double(screenSize.width)*widthRatio, y: Double(contentView.frame.height)*heightRatio)
buttonLevel.layer.cornerRadius = 0.5*buttonLevel.bounds.size.width
buttonLevel.clipsToBounds = true
print("Completed: \(completed)")
if(completed){
buttonLevel.setImage(UIImage(named:"level\(tag)blue"), for: .normal)
//buttonLevel.layer.borderWidth = 1
//buttonLevel.layer.borderColor = UIColor.yellow.cgColor
} else {
buttonLevel.setImage(UIImage(named:"level\(tag)red"), for: .normal)
buttonLevel.isEnabled = false;
}
buttonLevel.addTarget(self, action: #selector(buttonPressed), for:.touchUpInside)
contentView.addSubview(buttonLevel)
buttonLevel.backgroundColor = UIColor.clear
}
Я уже убедился, что изображения находятся в ресурсах пакета, изменил их с png на jpg и попытался добавить их в папку активов или root, безрезультатно.