Size: a a a

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

2020 January 16

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
всем привет. Есть у меня кастомная ячейка, там картинка, всякие лейблы и кнопка. На кнопку добавляется градиент через layer.insertSublayer внутри layoutSubviews(). Проблема в том, что layoutSubviews() не выполняется, пока с сервера не загрузится картинка и получается, что кнопки не видно. как еще можно сделать градиент, чтоб кнопка сразу была с ним, даже когда картинка еще не загрузилась?
картинки грузятся через Kingfisher
if let imgUrl = pizza?.imageUrl {
               pizzaImage.kf.cancelDownloadTask()
               pizzaImage.kf.setImage(with: URL(string: imgUrl), placeholder: UIImage(named: "pizza_placeholder"))
           }
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Awake from nib
источник

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
Stanislav
Awake from nib
а как оттуда добраться до свойств, если я не в IB интерфейс делаю, а кодом?
источник

А

Артур in iOS Developers — русскоговорящее сообщество
Богдан Марков
а как оттуда добраться до свойств, если я не в IB интерфейс делаю, а кодом?
если это ячейка таблицы, дергаешь tableview.reloadData(), в cellForRow берешь твою ячейку и достаешь её кнопку. Не понятно в чем проблема то
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Богдан Марков
а как оттуда добраться до свойств, если я не в IB интерфейс делаю, а кодом?
Тогда сразу при создании, в чем проблема-то
источник

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
Stanislav
Тогда сразу при создании, в чем проблема-то
при создании я еще не знаю размеров кнопки, а они нужны, чтоб градиент навесить
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
в will display cell
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
или prepare for reuse
источник

S

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

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
Stanislav
в will display cell
а если я не хочу делать кнопку паблик, ибо это и не надо? Хочу сделать яччейку самодостаточной, а не красить кнопку откуда-либо снаружи.

в препеафореюз работает, но сам этот метод вызывается только при переиспользовании, изначально нет
источник

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
меня и в layoutSubviews в принципе устраивало, пока не заметил, что на медленном интернете от срабатывает только после загрузки картинки
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Богдан Марков
а если я не хочу делать кнопку паблик, ибо это и не надо? Хочу сделать яччейку самодостаточной, а не красить кнопку откуда-либо снаружи.

в препеафореюз работает, но сам этот метод вызывается только при переиспользовании, изначально нет
Ну метод вызови у ячейки
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Богдан Марков
меня и в layoutSubviews в принципе устраивало, пока не заметил, что на медленном интернете от срабатывает только после загрузки картинки
Это костылище
источник

А

Артур in iOS Developers — русскоговорящее сообщество
layoutSubviews у ячейки должен срабатывать сразу как только она появилась
источник

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
Stanislav
Ну метод вызови у ячейки
ну это же бредово, не? если я знаю что эта кнопка всегда должна быть такой, зачем мне везде вызывать метод, который ее покрасит?
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Ждать пока либа загрузки картинок стянет файл и потом полагаться на вызванный при этом layoutSubviews
источник

БМ

Богдан Марков in iOS Developers — русскоговорящее сообщество
Артур
layoutSubviews у ячейки должен срабатывать сразу как только она появилась
вот и я так думал. но факт есть факт
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Богдан Марков
ну это же бредово, не? если я знаю что эта кнопка всегда должна быть такой, зачем мне везде вызывать метод, который ее покрасит?
Ну ты из кода сделал. Вот теперь в willDisplayCell и давай своей ячейке знать, что у неё правильный размер и можно управлять слоями
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Вот и выросло поколение :))
источник

AY

Alex Yatsenko in iOS Developers — русскоговорящее сообщество
iOS разработчик: никогда не пользовался библиотекой UIKit
источник