Пользовательская панель вкладок для навигации между контроллером представления - PullRequest
1 голос
/ 24 июня 2019

У меня есть панель вкладок, которую я настроил с помощью раскадровки. В панели вкладок у меня есть пользовательская кнопка в середине, которая выглядит так:

enter image description here

Он был настроен с использованием:

class TabBarViewController: UITabBarController {

let button = UIButton.init(type: .custom)

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

    button.setImage(UIImage(named: "assetIcon"), for: .normal)
    button.backgroundColor = .blue
    button.layer.cornerRadius = 35
    button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)

    self.view.insertSubview(button, aboveSubview: self.tabBar)
    self.view.layoutIfNeeded()
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    let distance =  ((self.view.bounds.height)/100)*11

    // safe place to set the frame of button manually
    button.frame = CGRect.init(x: self.tabBar.center.x - 32, y: self.view.bounds.height - distance, width: 70, height: 70)


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@objc func buttonAction(){

       // no actions here yet as I dont know what to put
  }   
}

Как видно выше, я создал действие для кнопки для перехода к определенному представлению, например, как должна действовать кнопка на панели вкладок. Тем не менее, я не уверен, как ориентироваться, или, скорее, я должен сказать, я не знаю, что мне следует добавить в кнопку панели пользовательских вкладок

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Полагаю, вы хотите отобразить контроллер вида с помощью кнопки. Создайте и отобразите View Controller с помощью следующего:

let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "ViewControllerIdentifier")
self.present(controller, animated: true, completion: nil)
0 голосов
/ 24 июня 2019

Когда кнопка нажата, я считаю, что вам нужно использовать свойство selectedViewController, чтобы указать, какой вид отображать. Вот документация по контроллеру панели вкладок: https://developer.apple.com/documentation/uikit/uitabbarcontroller

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...