Exemplo n.º 1
0
        private void UpdateNetworksButtons()
        {
            if (NetworksView == null)
            {
                return;
            }

            ViewStacker stacker = new ViewStacker();
            List <NetworkActionsConfig.NetworkAction> networks = new List <NetworkActionsConfig.NetworkAction>(__NetworksViewModel.AllNetworkActions);

            foreach (var network in networks)
            {
                NetworkActionButton btn = new NetworkActionButton(network, __NetworksViewModel, (float)NetworksView.EnclosingScrollView.ContentSize.Width);
                stacker.Add(btn);
            }

            var newView = stacker.CreateView();

            nfloat minViewHeight = NetworksView.EnclosingScrollView.ContentSize.Height;

            if (minViewHeight > newView.Frame.Height) // height can not be smaller than EnclosingScrollView height
            {
                newView.Frame = new CGRect(newView.Frame.X, newView.Frame.Y, newView.Frame.Width, minViewHeight);
            }

            NetworksView.Frame = newView.Frame;

            if (__NetworksListView == null)
            {
                NetworksView.AddSubview(newView);
            }
            else
            {
                NetworksView.ReplaceSubviewWith(__NetworksListView, newView);
            }

            NetworksView.ScrollPoint(new CGPoint(0, newView.Frame.Bottom));

            __NetworksListView = newView;
        }