#ios #swift #xcode
Вопрос:
Я представляю представления из инструкции switch, как показано в коде. Какой код я бы добавил, чтобы представить каждое представление в полноэкранном режиме. Я попробовал несколько методов с самим собой, но ничего не изменилось. Я также попытался настроить экран с автоматического на полноэкранный режим в раскадровке. Есть какие-нибудь идеи??
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) let settingsSection = SettingsSection(rawValue: indexPath.section) switch settingsSection { case .social: let value = SocialOptions(rawValue: indexPath.row) switch value { case .editProfile: present(editProfileVC, animated: true) { } case .changePassword: present(changePasswordVC, animated: true) { } case .deleteAccount: present(deleteVC, animated: true) { } default: debugPrint("Invalid Selection") } case .communications: let value = CommunicationOptions(rawValue: indexPath.row) switch value { case .notifications: present(notificationVC, animated: true) { } case .language: present(languageVC, animated: true) { } case .contactUs: present(contactVC, animated: true) { } default: debugPrint("Invalid selection") } default: debugPrint("Invalid selection") } } }
Ответ №1:
Встроите свои контроллеры просмотра в UINavigationController. Вы можете установить UINavigationController().navigationBar.isHidden = true
, если вам не нужна навигационная панель вверху. Код, который вам нужен, таков UIViewController().modalPresentationStyle = .fullScreen
.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) let settingsSection = SettingsSection(rawValue: indexPath.section) var vc: UIViewController? var navController: UINavigationController! switch settingsSection { case .social: let value = SocialOptions(rawValue: indexPath.row) switch value { case .editProfile: vc = editProfileVC case .changePassword: vc = changePasswordVC case .deleteAccount: vc = deleteVC default: debugPrint("Invalid Selection") } case .communications: let value = CommunicationOptions(rawValue: indexPath.row) switch value { case .notifications: vc = notificationVC case .language: vc = languageVC case .contactUs: vc = contactVC default: debugPrint("Invalid selection") } default: debugPrint("Invalid selection") } if let vc = vc { navController = UINavigationController(rootViewController: vc) navController.modalPresentationStyle = .fullScreen self.present(navController, animated: true) } }
Комментарии:
1. свифтКОДА, ты умный, умный человек. Спасибо вам за быстрый ответ и точный ответ
2. @CharlesMorgan Ценю это, парень. Мы здесь для того, чтобы помогать друг другу. Пожалуйста, подумайте о том, чтобы отметить мой ответ как принятый 🙂
3. С Удовольствием! все готово!