Size: a a a

iOS Developers — русскоговорящее сообщество

2021 July 15

N

No name in iOS Developers — русскоговорящее сообщество
не кешировать изображение, что это вообще значит😅
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
всем привет, подскажите, как я могу сделать так, чтобы header был у всей таблицы, еще и адаптивного размера?
источник

N

No name in iOS Developers — русскоговорящее сообщество
так я же не хочу избавится от экрана запуска, я хочу его сделать не картинку, а экран, почему тогда картинку он грузит без черного экарана, а контроллер с черной?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
взять вьюху хедера, заресайзить ее нужным образом, а затем назначить таблице
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
то есть не создавать ее через storyboard?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
загрузочный интерфейс может быть реализован в LaunchScreen.storyboard, в Info.plist должна быть запись о том, что этот файл используется для отображения интерфейса на этапе запуска. Но следует понимать что это только интерфейс, вы не можете в нем использовать какой-либо свой код (кнопки, градиенты и т.д.)
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
можно создать через сториборд, затем сделать типа var view = tableView.headerView, tableView.headerView = nil, view.frame = нужный размер, tableView.headerView = view
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
либо сделать вьюху отдельно в сториборде и затем назначить ее в каком-нибудь viewWillAppear или viewDidLoad когда будут известны фактические размеры экрана
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
вопрос, мне нужно прокинуть в header еще viewState с данными, но он скажет, что компоненты еще не созданы, даже если присваивать это в didAppear
источник

N

No name in iOS Developers — русскоговорящее сообщество
спасибо
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
А если я сверстал UIView, то мне ее нужно будет просто присвоить tableView.headerView?
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
но когда я прокину данные она ведь измениться в размерах, то есть нужно будет вызвать метод layoutIfNeeded?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
делайте tableView.headerView = значение только тогда, когда фактические данные будут готовы (можно до тех пор отображать какой-нибудь другой хедер или не использовать его вообще)
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
совершенно верно
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
но следует понимать что таблица не занимается лэйаутом хедера, она просто использует его фактический фрейм на момент добавления, поэтом если нужен автолэйаут, следует руками посчитать фрейм через какой-нибудь layoutSizeFitting(...)
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
То есть или в viewController, сделать свойство кодом этой UIView, и присвоить его tableView.header, то потом нужно еще раз сделать layoutSizeFiiting + layoutIfNeeded, получается так?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
layoutIfNeeded не изменяет размеры вьюхи, она делает лэйаут дочерних вьюх, то есть на размер хедера это не повлияет. если делать tableView.layoutIfNeeded то это бы помогло, если бы таблица учитывала автолэйаут или intrinsicSize хедера, но она его игнорирует
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
нет, нужно именно убрать вьюху с таблицы, сделать есть frame = layoutSizeFitting, а затем назначить обратно на таблицу
источник

ДВ

Дима Воронин... in iOS Developers — русскоговорящее сообщество
это можно сделать viewWillAppear? или на тот момент UIView еще не будет создана даже кодом?
источник