Я пытаюсь создать вкладку настроек, которая изменяет вид, который видит пользователь на другой вкладке на основе переключателя UIS. Как бы я сделал так, чтобы при включении переключателя пользователь переходил на эту вкладку, он переходил к ViewController1
, а когда переключатель был выключен и они переключали вкладки, он переходил к ViewController2
? Я приложил скриншот, который мог бы объяснить это немного лучше. Я подверг цензуре информацию, которая выдала бы цель моего приложения, чтобы не привлекать подражателей и еще много чего.
Как видите, моя главная проблема с Представление модального полноэкранного режима состоит в том, что TabBarController исключен, и у пользователей нет возможности отключить настройку или просмотреть другую вкладку. Я не хочу представлять его как вкладку popover или pu sh, потому что я хочу, чтобы он чувствовал себя так, как будто ничего не произошло.
Увеличенный вид будет отображаться модально, когда переключатель включен и viewWillAppear
вызывается ViewController1
. Вот мой код для этого:
SettingsView.swift
import UIKit
class SettingsTableViewController: UITableViewController {
@IBOutlet weak var viewSwitch: UISwitch!
override func viewDidLoad() {
tableView.allowsSelection = false
super.viewDidLoad()
}
@IBAction func switchIsChanged(_ sender: Any) {
if viewSwitch.isOn == true{
TableViewController.switchState = true
}
if viewSwitch.isOn == false{
TableViewController.switchState = false
}
}
}
Я переместил код из TabBar.swift в TableView.swift, потому что решение, которое я пробовал, на самом деле не относится к TabBarController
. Вот TableView.swift:
import UIKit
class TableViewController: UITableViewController {
public static var switchState: Bool?
override func viewWillAppear(_ animated: Bool) {
if TableViewController.switchState == true {
performSegue(withIdentifier: "LargeViewSegue", sender: self)
}
else {
print("Showing standard view.")
}
}
}
Этот код работает, но, как я уже говорил, он не показывает TabBar
, что важно для моего приложения. Идеальное решение - изменить последовательность отношений с TabBarController
на LargeView
/ TableView
. К сожалению, из того, что я слышал, Вы не можете создавать пользовательские сегменты отношений программно. Если бы кто-то мог доказать, что я неправ, это было бы здорово.
Заранее спасибо.