swift - UICollectionview custom flow layout - performance issues -


i struggling with performance issues while changing orientation of device. according apple documentation there way improve performance implementing

override func shouldinvalidatelayout(forboundschange newbounds: cgrect) -> bool  

and

override func invalidationcontext(forboundschange newbounds: cgrect) -> uicollectionviewlayoutinvalidationcontext 

the second method allows me invalidate items interested of. invalidate items ( don't wanna invalidate headers, footers. )

if return true first method performance going jump crazy, if stay implementation inside view controller :

 override func viewwilltransition(to size: cgsize, coordinator: uiviewcontrollertransitioncoordinator) {         super.viewwilltransition(to: size, with: coordinator)         coordinator.animate(alongsidetransition: nil, completion: {             _ in             uiview.animate(withduration: 1.0, delay: 0.0, usingspringwithdamping: 0.5, initialspringvelocity: 0.5, options: .curvelinear, animations: {                 self.collectionview.collectionviewlayout.invalidatelayout()             })         })     } 

i'll ( if have animation block ) no animations , messy stuffs - performance normal.

what best approach out of lags ?

so far i've got :

override func shouldinvalidatelayout(forboundschange newbounds: cgrect) -> bool {         invalidatelayout(with: invalidationcontext(forboundschange: newbounds))         return super.shouldinvalidatelayout(forboundschange: newbounds)     }      override func invalidationcontext(forboundschange newbounds: cgrect) -> uicollectionviewlayoutinvalidationcontext {         var context = super.invalidationcontext(forboundschange: newbounds)          if // context equal items          {             // invalidate items         }          return context     } 

thanks help!


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -