Я не знаю, почему, но я был в предположении, что кнопка не должна меняться снова и снова, чтобы переделать себя ....Как вы можете отключить кнопку от запуска при каждом нажатии?
У меня довольно простой код. Когда моя кнопка нажата, она загружает изображение, используя urlSession, в фоновое представление другого viewController и переходит в него.
Моя проблема в том, что если вы нажмете кнопку 3 раза, пока я жду загрузки изображения, мой viewController переместит 3 слоя вниз в navigationController и вернется к исходному viewController. Мне нужно нажать кнопку назад 3 раза. Разве я не могу удалить 3 слоя вниз !?
@IBAction func showImage(_: UIButton) {
loadImage()
}
func loadImage() {
let url = URL(string: "https://upload.wikimedia.org/wikipedia/en/thumb/a/a4/Flag_of_the_United_States.svg/1280px-Flag_of_the_United_States.svg.png")
var request = NSMutableURLRequest(url: url!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.httpMethod = "GET"
let session = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
guard let data = data else {
print("You got an error:\(error)")
return
}
let img = UIImage(data: data)
let imgview = UIImageView(image: img)
let sb = UIStoryboard(name: "Main", bundle: nil)
let ivc = sb.instantiateViewController(withIdentifier: "showImage")
ivc.view = imgview
self.navigationController?.pushViewController(ivc, animated: true)
}
session.resume()
}
Отключить кнопку перед началом загрузки изображения? –
@PhillipMills Итак, мой код не структурирован неправильно? За исключением того, что мне просто нужно добавить это? И после того, как я перейду, я снова включу кнопку? – Honey
@ Хоть ты даже прочитал название своего вопроса? – Alexander