Не перезагружайте VC1 при переходе назад с CV2 - Swift

Получить представление байтового массива (byte[]) изображения, затем использовать Convert.ToBase64String(), st. например:

byte[] imageArray = System.IO.File.ReadAllBytes(@"image file path");
string base64ImageRepresentation = Convert.ToBase64String(imageArray);

Чтобы преобразовать изображение base4 обратно в System.Drawing.Image:

var img = Image.FromStream(new MemoryStream(Convert.FromBase64String(base64String)));
0
задан vanful 16 January 2019 в 13:37
поделиться

3 ответа

Вы можете использовать блок для выполнения любых действий после нажатия кнопки «назад». Следуйте приведенному ниже коду

1) Создайте блок в ResturantDetailsController

var back_block : (() -> Void)? = nil

2) Обновите действие кнопки «Назад» backPressed

@IBAction func backPressed(_ sender: Any) {
    if let action = back_block {
        action()
    }
    self.navigationController?.popViewController(animated: true)
}

3) VC1 при создании ResturantDetailsController объекта.

    let obj = ResturantDetailsController.loadController()
    obj.back_block = {
        //reload Your TableView
    }
    obj.restaurent_ID = restaurent_Id!
    self.navigationController?.pushViewController(obj, animated: true) 
0
ответ дан Pratik Prajapati 16 January 2019 в 13:37
поделиться

Если вы используете UITableView в VC1, затем перезагрузите его в viewWillAppear, тогда вы получите обновление или это вы обновите свой список

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)

    self.tableview.reloadData() 

}
0
ответ дан Abhishek Jadhav 16 January 2019 в 13:37
поделиться

Пожалуйста, напишите этот код в методе viewWillAppear в классе VC1:

 self.view.setNeedsDisplay()

Это может помочь вам. Спасибо.

0
ответ дан Sanjukta 16 January 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: