2016-04-10 3 views
1

Я использую две пользовательские ячейки в виде таблицы. Первая ячейка содержит две метки. Вторая ячейка содержит метку и представление (подкласс класса GMSMAPVIEW). Я использовал следующий код для динамической высоты ячейки.Динамическая высота ячейки Uitableview

TableView.rowHeight = UITableViewAutomaticDimension 
TableView.estimatedRowHeight = 160.0 

Я установил правильные противопоказания для всех элементов ячейки. Проблема, с которой я сталкиваюсь, такова: первая ячейка идеальна. Но вторая ячейка не показывает мне mapView. (Означает, что высота второй ячейки уменьшена до 44). Что скрывает мою карту в этой ячейке. Я что-то пропустил?

Это снимок экрана моего Tableview: enter image description here

Существенная информация клетка является один с проблемой. Ограничения для Essential информации этикетки являются: enter image description here

Ограничения для MAPview являются: enter image description here

+0

Вы используете автоматическую компоновку? autolayout необходимо для 'UITableViewAutomaticDimension' – HardikDG

+0

yes Я использую автозапуск. Думаю, я упомянул об ограничениях! :) –

+0

ohh, да, моя ошибка, ваша первая ячейка получила правильную высоту, или это тоже 44? – HardikDG

ответ

1

Прежде всего вы должны написать этот код в viewDidLoad

tableView.estimatedRowHeight = 160 
tableView.rowHeight = UITableViewAutomaticDimension 

Затем проверьте свои ограничения на свой xib. Убедитесь, что ошибок нет.

Затем, если вы не можете увидеть карту, проверьте, если у вас есть действительный ключ API от Google Dev консоли и положить его в AppDelegate как в этом примере:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 
    GMSServices.provideAPIKey("MYAp1KEy-348234239423949294239"); 
    return true 
} 

Вы можете найти более подробную информацию в official documents

Если у вас есть проблемы, чтобы обновить mapviews после размещения маркеров вы можете следовать официальному руководству Google Maps SDK for iOS

PS: вы можете проверить, если вы делаете все шаги правильно о вашем быстрой Google Map проекте Fo llow this step-step guide: Google Maps iOS SDK Tutorial: Getting Started

+0

Мои карты работают в другом контроллере.Итак, это означает, что с ключом нет проблем. –

+0

Можете ли вы показать, как вы устанавливаете ограничения ячейки mapView? Вы можете видеть логотип Google или ничего? –

+0

Да, я отредактировал вопрос. Пожалуйста, взгляните на мои ограничения. –

0

изменение последовательности, как показано ниже. сначала вызовите оценкуRowHeight.

TableView.estimatedRowHeight = 160.0 
TableView.rowHeight = UITableViewAutomaticDimension 

От viewDidAppear перезагружать данные таблицы, как,

[TableView reloadData]; 
TableView.reloadData() //for swift 
+0

Нет надежды! Не помогло :( –

+0

вы пытались перезагрузить данные таблицы из viewdidload? Если да, тогда должна быть проблема с вашими ограничениями. Ckeck размер и ограничения вашего вида. – Lion

+0

Я добавил ограничения на свой вопрос. Я не чувствую –

0

вы можете один раз попробовать изменить последовательность строк в коде в viewDidLoad()

tableView.estimatedRowHeight = 160 
tableView.rowHeight = UITableViewAutomaticDimension 
+0

нет, это не решает проблему !! :( –

Смежные вопросы