- Home /
Question by
koalxx · Jun 09, 2014 at 11:09 AM ·
guigui.begingroup
Using GUI.BeginGroup inside GUILayout.BeginScrollView doesn't trigger the scrollbar. Why?
Hi, I'm trying to create a scroll list of items which user can delete. By swiping left on mobile, the delete icon will appear as the item slide to the right. Since I can't move GUILayout.Buttons x position, seems like I can only use GUI.BeginGroup.
Problem is GUI.BeginGroup doesn't trigger the scrollbar to appear when the item lists exceeds the scrollheight. God, I hope i'm making sense.
heres my sample code - this method shows the scrollbar
void OnGUI ()
{
GUILayout.BeginArea (areaRect);
GUI.skin = skin;
scrollPosition = GUILayout.BeginScrollView (scrollPosition,
GUILayout.Width (scrollRect.width), GUILayout.Height (scrollRect.height));
for (int i =0; i<=numRows; i++) {
GUILayout.Button ("acctdesc", GUILayout.Height (rowRect.height));
GUILayout.Label ("pymtamt", outCol);
GUILayout.Label ("pymtdesc", pymtDescCol);
}
GUILayout.EndScrollView ();
GUILayout.EndArea ();
}
then after I tried to implement GUI.BeginGroup, the scrollbar doesn't appear. What am I doing wrong?
void OnGUI ()
{
GUILayout.BeginArea (areaRect);
GUI.skin = skin;
scrollPosition = GUI.BeginScrollView (new Rect(0,0,200,300),
scrollPosition, new Rect(10,10,190,290));
for (int i =0; i<=numRows; i++) {
GUI.BeginGroup(new Rect(0, 50 * i, 190, 40));
GUI.Label (new Rect(4,4,190,20), "acctdesc");
GUI.Label (new Rect(4,25,190,20), "pymtamt");
GUI.Label (new Rect(4,45,190,20), "pymtdesc");
GUI.EndGroup();
}
GUI.EndScrollView ();
GUILayout.EndArea ();
}
Comment
Your answer
Follow this Question
Related Questions
GUI Error - Method not found: 'GUI.BeginGroup'. 1 Answer
GUI Box not showing! 1 Answer
gui content dynamic change with screen size 1 Answer
GUI.box draggable between to groups 0 Answers