Как бы вы структурировали приложение, подобное этому, когда нет данных таблицыView, которые показывают другой диспетчер представлений?Как показать еще один диспетчер представлений, если данные таблицыView пустые
Веб-сайт показывает способы отображения сообщения, если в представлении таблицы нет данных, но мне нужно показать другое представление. Этот viewcontroller (PlaceholderVC) имеет изображение и ярлык (страница со стилем 404 и т. Д.).
В основном на первом экране (начальном) пользователь вводит кнопку, чтобы перейти к таблицеView. В навигационной панели элемент позволяет создать новую ячейку таблицы (данные). Другого способа создать этот элемент нет, если вы не перейдете на контроллер tableView (FeedVC). Я изо всех сил стараюсь правильно работать. То, что я реализовал много ошибок:
//FeedVC
let data = []
viewDidLoad() {
[...]
}
numberOfRowsInSection {
if data.count == 0 {
showPlaceholderVC()
} else {
return data.count
}
}
func showPlaceholderVC() {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let pc: PlaceholderVC = storyboard.instantiateViewController(withIdentifier: "placeholderVC") as! PlaceholderVC
self.showDetailViewController(pc, sender: Any?.self)
}
Это было бы взять меня к PlaceholderVC
. То, что PlaceholderVC
может также present
VC создать новую ячейку таблицы. Когда я нажимаю save, он отклоняется и возвращается к PlaceholderVC
. Я мог бы изменить функцию сохранения на present
FeedVC
, но я чувствую себя правильно, это должно быть dismiss()
. Если data > 0
и я создаю новые данные, то сохранение func все равно будет присутствовать. Посмотрите, что происходит? Сохранить следует запустить код, а затем убрать. Я не хочу добавлять слой поверх слоя.
У меня мог бы быть чистый код, если бы я мог добавить скрытое изображение и надпись на tableView. Это возможно? Когда я перетаскиваю изображение по таблицеView, он сжимается.
Я мог бы заставить все это работать, но будет слишком много «ifs» - это все VC со многими «подарками».
вы можете иметь изображение над Tableview, вам просто нужно правильно установить ограничения и убедитесь, что вы используете UIViewController и не UITableViewController – Paulw11
Позвольте мне попробовать. – Sylar
@ Paulw11 Я думаю, что буду использовать ваш подход. Вместо этого я использовал представление и поместил его ниже моего таблицы (здесь работает автоматический макет). Затем в контроллере: 'if data == 0, view.isHidden = true/false' Это лучше для меня. Благодарю. – Sylar