On Oct 4, 2013, at 2:45 PM, David Hoerl <dho...@mac.com> wrote: > On 10/4/13 5:09 PM, Steve Christensen wrote: >> On Oct 4, 2013, at 1:52 PM, David Hoerl <dho...@mac.com> wrote: >> >>> But its really odd - and I'm thinking about a bug report on this - that the >>> delegate has to provide the size before the view is even created. >> >> It make sense if you think about it: it's asking for sizes so that scroll >> view contentSize can be set and the layout can be determined. It would be a >> lot more expensive to have to actually build each of the cells for the >> entire collection just to get their sizes. This sort of behavior also >> happens with UITableView and its various cells. > > In the old days, you had static views. Now with dynamic type, and the ability > to more easily support different dynamic portrait/landscape layouts (with > autolayout), the views can change a lot. Also, for table headers and footers, > you created the view then set or returned it. > > With Collections you have to "dequeue" it, and ostensibly you can only do > this when asked for a cell (since there is no way I know to dequeue a view > then tell the collection that you don't really need it after all). > > Maybe I could dequeue one early on, cache it to get the sizes, and the first > time only I'm asked for the view, return the cached one (then nil out the > reference). This seems like it might work but IMHO would be "risky" in terms > of stretching the API. > > I will probably at least try that out when I get everything else working. > > David
You could also do something like add a class method to your cell class that creates a non-queued instance (if necessary to the calculation) and calculates the cell height based on whatever goes into determining it. That avoids mucking around with the collection view's queue. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com