PSTreeGraph icon indicating copy to clipboard operation
PSTreeGraph copied to clipboard

Don't draw line between root and first child when build large treeview in Ipad Retina

Open ValeriiSohlaiev opened this issue 11 years ago • 8 comments

2014-09-15 21 30 06 2014-09-15 21 30 27

Hi. Can you help me. Don't draw line between root and first child when build large treeview in Ipad Retina

ValeriiSohlaiev avatar Sep 15 '14 18:09 ValeriiSohlaiev

Hello ! :-) Sure, I will look at it now. Whats the banding that you have between the root node and the its children in those images? I looks like you've found out how to isolate the drawing of the first set of lines but, have not added conditional code to use the fill colour on that rect.

epreston avatar Sep 20 '14 01:09 epreston

I'm experiencing the same issue, interestingly it occurs in both horizontal and vertical orientations. I've been working to narrow down what's causing the problem but haven't gotten far yet. I'll post back if I find anything. Also, I get this issue regardless of retina vs @1x.

jaysonlane avatar Dec 11 '14 22:12 jaysonlane

It appears the issue is a memory issue with very large UIViews, the largest connectorView I have is 27735 points wide. At this point, I'm not sure there is a great solution.

jaysonlane avatar Dec 12 '14 16:12 jaysonlane

@jaysonline I'd guess we are limited by the largest texture or render buffer we can allocate on a divice. I looked at tile rendering scheme, or replacing the connector views with CA layers taking them out of the view hiarchy, but I feel that adding a new interactive UI element to the graph display is the way to go for large graphs. This would reduce the amount of scrolling, improve the presentation, and solve this issue.

epreston avatar Dec 13 '14 22:12 epreston

@epreston thanks for the reply! Yeah, this was ultimately what we decided as well, the amount of scrolling (~30 "page" widths) wasn't a great user experience.

jaysonlane avatar Dec 13 '14 22:12 jaysonlane

I'd be interested in taking a look too. A creative and general answer to the problem of presenting wide hiarchies is harder than it looks.

When I see larger numbers of peers within a tier, I think to myself, "self, have you ordered the taxonomy correctly? Are you missing something?" I've neatly skirted around the issue by using a different control or interaction method better suited for large lists at this point. Some data is naturally very flat yet, very useful to see in the context of a graph. I wonder how others present this.

epreston avatar Dec 13 '14 23:12 epreston

@epreston Take a look at http://asyncdisplaykit.org/?utm_campaign=iOS_Dev_Weekly_Issue_174&utm_medium=email&utm_source=iOS%2BDev%2BWeekly

Hianz avatar Dec 15 '14 14:12 Hianz

@epreston Yes, this particular set of data is an org chart of a company with many employees but a relatively flat structure. The root employee connector spans almost then entire tree with a few of his direct reports also having lengthy connectors. One of the more appealing ideas we had was creating a nested structure to drill down into similar to what you'd see on the iOS springboard with folders, however, you lose a feel for the relationships between some of the sibling nodes. For now I think we're going to go with a nested table view.

jaysonlane avatar Dec 15 '14 14:12 jaysonlane