Я следовал учебному пособию о том, как создать приложение для iOS, когда изображение заголовка и фоновое изображение отображаются после нажатия кнопки (там отмечены как «скрытые» в инспектор атрибутов). Я использую Swift 3 и Xcode 8.Swift 3: Изображение не отображается, когда параметр isHidden = false
Вот что код выглядит следующим образом:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var background: UIImageView!
@IBOutlet weak var titleImage: UIImageView!
@IBOutlet weak var welcomeBtn: UIButton!
@IBAction func welcomePressed(_ sender: UIButton) {
background.isHidden = false
titleImage.isHidden = false
welcomeBtn.isHidden = true
}
//some more inherited functions....
Названное изображение отображается и кнопка радушны исчезает, как ожидается, но фон не отображается.
Если я сниму флажок «скрытый» в инспекторе атрибутов и сделаю «background.isHidden = true», все станет черным после нажатия кнопки.
Я действительно не понимаю этого поведения. Это ошибка или функция? Не следует ли показывать фоновое изображение, когда isHidden установлено на false? Не должно ли фоновое изображение исчезнуть, показывая все остальное, во втором сценарии?
В связи инспектор все кажется правильным, но я не понимаю, почему я не могу удалить соединение «вид - Фон»:
Outlets: фон - Фон, titleImage - Название изображения, вид - фон, welcomeBtn - Добро пожаловать Btn
Похожие действия: welcomePressed - Добро пожаловать Btn подправить внутри
когда я отобразите оба изображения в инспекторе атрибутов они будут правильно отображаться при запуске приложения.
моя ошибка, я удалил ответ, не могли бы вы показать нам что-то еще, можете ли вы снова написать, что не так, и как оно выглядит с самого начала? isHidden = false означает, что что-то не скрыто, и оно появляется на экране –
Как уже упоминалось, фоновое изображение не отображается, когда кнопка нажата, хотя isHidden установлена в значение false. Все остальное работает: появляется изображение заголовка, кнопка исчезает. – Nina
Я бы предложил использовать отладчик вида, чтобы убедиться, что 'frame' правильный и что перед ним ничего нет, блокируя его. Также убедитесь, что он имеет соответствующее значение 'alpha'. – Rob