private void arrangeTabs() { SuspendLayout(); try { layoutPadding = layoutPadding.ConstrainPadding(); var x = (float)layoutPadding.left - scrollPosition.x; var y = (float)layoutPadding.top - scrollPosition.y; var maxWidth = 0f; var maxHeight = 0f; for (int i = 0; i < Controls.Count; i++) { var child = controls[i]; if (!child.IsVisible || !child.enabled || !child.gameObject.activeSelf) { continue; } var childPosition = new Vector2(x, y); child.RelativePosition = childPosition; var xofs = child.Width + layoutPadding.horizontal; var yofs = child.Height + layoutPadding.vertical; maxWidth = Mathf.Max(xofs, maxWidth); maxHeight = Mathf.Max(yofs, maxHeight); x += xofs; } } finally { ResumeLayout(); } }