ઉકેલાયેલ: સ્વાઇપ પર કન્ટેન્ટઓફસેટ સ્વિફ્ટ કલેક્શન વ્યૂ મેળવો

છેલ્લો સુધારો: 09/21/2023

હું સમજું છું કે તમે સ્વિફ્ટ કલેક્શન વ્યૂમાં સ્વાઇપ અને કન્ટેન્ટ-ઑફ ઑફસેટને હેન્ડલ કરવા માટે ખૂબ જ વ્યાપક માર્ગદર્શિકા શોધી રહ્યાં છો. iOS વિકાસકર્તાઓ માટે આ એક નિર્ણાયક પાસું છે કારણ કે તે સંગ્રહ દૃશ્યમાં સ્થાન અને સ્ક્રોલ સ્થિતિ નક્કી કરવામાં મદદ કરે છે.

સારમાં, કન્ટેન્ટ-ઓફસેટ એ UIScrollView માં એક પ્રોપર્ટી છે, જ્યાં UICollectionView એ સબક્લાસ છે. સ્વિફ્ટમાં, સામગ્રી-ઓફસેટ અમને UICollectionView માટે સ્ક્રોલિંગની વર્તમાન સ્થિતિને પુનઃપ્રાપ્ત કરવા અને સેટ કરવાની મંજૂરી આપે છે.

ContentOffset અને UICollectionView ને સમજવું

UICollectionView એ iOS માં એક શક્તિશાળી UI એલિમેન્ટ છે જેનો ઉપયોગ ગ્રીડ અથવા કસ્ટમ લેઆઉટમાં વસ્તુઓ પ્રદર્શિત કરવા માટે થાય છે. જ્યારે તે તેની લવચીક અને અદ્યતન કાર્યક્ષમતા માટે જાણીતું છે, તેની ઓછી સ્પષ્ટ વિશેષતાઓમાંની એક સામગ્રીઓફસેટ મિલકત છે. જ્યારે વિકાસકર્તાઓએ UICollectionView ના સ્ક્રોલિંગ વર્તનને નિયંત્રિત કરવાની જરૂર હોય ત્યારે તે એક મુખ્ય પરિબળ છે.

let contentOffsetX = collectionView.contentOffset.x
let contentOffsetY = collectionView.contentOffset.y

સામગ્રીઓફસેટ પ્રોપર્ટી અમને UICollectionView ની વર્તમાન સ્ક્રોલ સ્થિતિ જાણવામાં મદદ કરે છે. 'x' આડી સ્થિતિ સૂચવે છે જ્યારે 'y' ઊભી સ્થિતિ સૂચવે છે.

ઉકેલ: UICollectionView માં સ્વાઇપ પર કન્ટેન્ટઓફસેટ મેળવવું

સ્વાઇપિંગ, સામાન્ય રીતે ટચ ઉપકરણો સાથે સંકળાયેલ હાવભાવ, સ્વિફ્ટ અને iOS ના બિલ્ટ-ઇન કાર્યોનો ઉપયોગ કરીને શોધી શકાય છે. અને તેને UICollectionView માં કન્ટેન્ટઓફસેટ પ્રોપર્ટી સાથે લિંક કરીને, અમે અમારા દૃશ્યના ઉદાહરણો પર ચોક્કસ નિયંત્રણ મેળવી શકીએ છીએ.

override func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height
    if offsetY > contentHeight - scrollView.frame.height * 4 {
        // load more data
    }
}

આ કોડ ડેટાને આગળ પ્રી-લોડ કરીને સ્ક્રોલિંગને સરળ બનાવે છે. જ્યારે આપણે વર્તમાન સૂચિના અંતના 1/4મા સ્થાને હોઈએ ત્યારે આ વધુ ડેટા લોડ કરે છે.

કોડનું મૂલ્યાંકન

આ કોડ પાછળનો સર્વોચ્ચ વિચાર એ છે કે જ્યારે કોઈ વપરાશકર્તા વર્તમાન ઉપલબ્ધ સામગ્રીમાંથી સ્ક્રોલ કરવાનું સમાપ્ત કરવા જઈ રહ્યો હોય ત્યારે વધુ ડેટા પ્રી-લોડ કરવાનો છે. અહીં એક પગલું-દર-પગલાની સમીક્ષા છે:

  • ફંક્શન 'scrollViewDidScroll' એ મૂળ UIScrollView પ્રતિનિધિ પદ્ધતિ છે જેને જ્યારે પણ UIScrollView (અમારા કિસ્સામાં, UICollectionView) સ્ક્રોલ કરવામાં આવે ત્યારે કહેવાય છે.
  • પછી અમે offsetY અને contentHeight ચલોને વ્યાખ્યાયિત કરીએ છીએ જે અનુક્રમે વર્તમાન સ્ક્રોલ સ્થિતિ અને સ્ક્રોલ સામગ્રીની ઊંચાઈને સુરક્ષિત કરે છે.
  • 'જો' શરતમાં, અમે જણાવીએ છીએ કે એકવાર વપરાશકર્તા થ્રેશોલ્ડની બહાર સ્ક્રોલ કરે છે (આ કિસ્સામાં, અંતની નજીક), અમે વધુ ડેટા લોડ કરીશું તેથી સીમલેસ વપરાશકર્તા અનુભવ પ્રદાન કરીશું.

સ્વિફ્ટની સામગ્રીઓફસેટ પ્રોપર્ટી જ્યારે સ્વાઇપિંગ હાવભાવ શોધ સાથે જોડાયેલી હોય ત્યારે વિકાસકર્તાઓને UICollectionView ના સ્ક્રોલિંગ વર્તણૂક પર ઉન્નત નિયંત્રણ સાથે સજ્જ કરે છે. તે ડેટાને જોવા અને નેવિગેશન બનાવવા માટે એક શુદ્ધ વપરાશકર્તા અનુભવ માટે પરવાનગી આપે છે, એક સીમલેસ કાર્ય.

સંબંધિત પોસ્ટ્સ: