Открытие отдельного ViewController с помощью кнопки «Назад» на контроллере вкладок - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть контроллер Tabbar, и в этом контроллере я показываю более 5 viewcontroller.все работает как положено.

Но теперь у меня есть ViewController, который имеет UiTableView. В ячейке нажмите, чтобы открыть контроллер DetailView.

Этот DetailViewController будет иметь заголовок в контроллере навигационного представления и кнопку для возврата к списку.

Пожалуйста, помогите мне, как это сделать с помощью Swift?

Ответы [ 4 ]

0 голосов
/ 24 сентября 2018

Может быть, эта иллюстрация раскадровки поможет вам.Это чисто, чтобы показать VCS, что вам нужно.enter image description here

0 голосов
/ 24 сентября 2018
import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

@IBAction func moveToNexScreen(_ sender: Any) {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let nextVc = storyboard.instantiateViewController(withIdentifier: "NextViewController") as! NextViewController
    let navigationVc = UINavigationController(rootViewController: nextVc)
    present(navigationVc, animated: false, completion: nil)
}
}

class NextViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(self.closeBackButtonPressed))        
}

@objc func closeBackButtonPressed(){
    self.dismiss(animated: false, completion: nil)
}
}

Поместите свой подробный вид внутрь UINavigationController(rootViewController: detailVc), а затем вы можете представить его, а для кнопки "Назад" вы можете добавить элемент кнопки в подробный вид программно

0 голосов
/ 24 сентября 2018

ИСПОЛЬЗОВАНИЕ -

#import <DetailViewController.h>

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    NSIndexPath *indexPath = [_tableView indexPathForCell:sender];

    DetailViewController *details = (DetailViewController *)segue.destinationViewController;

    details.dictionary = _json[indexPath.row]; // to pass data

}

В раскадровке -

Select Cell and drag a segue to Details view controller
0 голосов
/ 24 сентября 2018

ВК, из которого вы хотите показать подробности, должен быть встроен в навигационный контроллер, а затем использовать push / pop для управления показом / скрытием

let vc = ///

self.navigationController?.pushViewController(vc, animated: true)

//

self.navigationController?.popViewController(animated: true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...