Size: a a a

2021 December 20

ᅠмуркотун чизбургеро... in SwiftBook
Там сверху кидали ж ссылку
источник

D

DED in SwiftBook
Сорри, потерял
источник

K

Kapitoshka438 in SwiftBook
1. Заведи переменную:
var didReachEnd: Bool = false

2. Изначально у scrollView задай bounces = true

3. Имплементируй метод делегата, чтобы определить, что ты проскроллил до конца:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
       didReachEnd = scrollView.contentOffset.y >= 0
             && scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)
}


4. Имплементируй метод делегата, чтобы определить, что анимация инерции скролла завершена, и отлючай bounces, если до этого уже произошла прокрутка до конца:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
       
if scrollView.bounces && didReachEnd {
           scrollView.bounces =
false
       }
}
источник

🕷

🕷Ⲥⲡⲩⲇυ ⲙⲩⲏ🕷... in SwiftBook
Капитошка, а ты случайно не умеешь работать с diffableDataSource?
источник

K

Kapitoshka438 in SwiftBook
Ни разу не использовал, и надеюсь уже не пригодится.
источник

🕷

🕷Ⲥⲡⲩⲇυ ⲙⲩⲏ🕷... in SwiftBook
😂😂 услышал
источник

🕷

🕷Ⲥⲡⲩⲇυ ⲙⲩⲏ🕷... in SwiftBook
пошел гуглить
источник

AZ

Andrey Zhevlakov in SwiftBook
хмм, в таком случае я в моменте когда contentOffset.y < 0 и scrollViewDidEndDecelerating не сработал я могу еще скролить вверх
источник

K

Kapitoshka438 in SwiftBook
До scrollViewDidEndDecelerating еще срабатывает:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView)

Поиграйся с ними, может получится что-то
источник

K

Kapitoshka438 in SwiftBook
Они выполняются в таком порядке:
scrollViewWillBeginDragging(_:)
scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
scrollViewDidEndDragging(_:willDecelerate:)
scrollViewWillBeginDecelerating(_:)
scrollViewDidEndDecelerating(_:)
источник

AZ

Andrey Zhevlakov in SwiftBook
спасибо, там еще так сделано, что если сделать bounces = false, то текущее отпружинивание тупо сбросится...
источник

K

Kapitoshka438 in SwiftBook
Поэтому его нужно делать в false в didEndDecelerating
источник

A

Alexey in SwiftBook
Сторибоард юзают новички
источник

M

Max in SwiftBook
источник

d

dope_of_truth in SwiftBook
источник

J

JH in SwiftBook
Добрый день
Как настроить Apple Developer сертификат, чтобы подписывать vpn приложение? После подписки не работает с впн профилем
источник

SA

Sabina Askerova in SwiftBook
Всем привет😊 Кто может вкратце объяснить как работают врапперы?читаю и вообще не доходит😭
источник

ДР

Денис Рубцов... in SwiftBook
А на хабре была приличная статья, непонятная?
источник

SA

Sabina Askerova in SwiftBook
https://habr.com/ru/company/funcorp/blog/485008/

Если вы об этой, то нет, до меня не дошло.Туплю
источник

DD

Denis Denisov in SwiftBook
Ребята привет
Учу многопоточность, но голая теория не настолько демонстративна
подскажите пожалуйста (можно просто текстом) в каких условиях используется например NSLock? NSRecursicveLock? NSCondidtionLock?

вариант ответа:
Например у нас есть задача отредактировать массив и залить его в CoreData
для того чтобы не залить в память неотредактированный массив мы создаем поток в котором происходит редактирование после чего будет подан сигнал во второй поток о том что можно стартовать записывать в память. То есть сначала блокируется доступ к данным (редактором) затем освобождается и блокируется доступ (сохранятелем)

Сорян за long read но правильно ли я понимаю суть?
источник