UIStackView внутри Scrollview в Xamarin.ios - PullRequest
0 голосов
/ 06 сентября 2018

Привет, я изо всех сил пытаюсь сделать свой вертикальный прокрутка UIStackView внутри прокрутки.

У меня добавлен вид стека в конструкторе в раскадровке, а в методе ViewDidLoad добавлен следующий код.

var scrollView = new UIScrollView(new RectangleF(0, 0, (float)View.Frame.Width, (float)(View.Frame.Height - this.NavigationController.NavigationBar.Frame.Height)));
        scrollView.Add(ReallocateStackView);            
        ReallocateStackView.LeadingAnchor.ConstraintEqualTo(scrollView.LeadingAnchor).Active = true;
        ReallocateStackView.TrailingAnchor.ConstraintEqualTo(scrollView.TrailingAnchor).Active = true;
        ReallocateStackView.TopAnchor.ConstraintEqualTo(scrollView.TopAnchor).Active = true;
        ReallocateStackView.BottomAnchor.ConstraintEqualTo(scrollView.BottomAnchor).Active = true;
        ReallocateStackView.WidthAnchor.ConstraintEqualTo(scrollView.WidthAnchor);
        scrollView.ContentSize = ReallocateStackView.IntrinsicContentSize;

View.Add(scrollView);
        scrollView.TranslatesAutoresizingMaskIntoConstraints = false;
        scrollView.LeadingAnchor.ConstraintEqualTo(View.LeadingAnchor).Active = true;
        scrollView.TrailingAnchor.ConstraintEqualTo(View.TrailingAnchor).Active = true;
        scrollView.TopAnchor.ConstraintEqualTo(View.TopAnchor).Active = true;
        scrollView.BottomAnchor.ConstraintEqualTo(View.BottomAnchor).Active = true;
        scrollView.CenterXAnchor.ConstraintEqualTo(View.CenterXAnchor).Active = true;
        scrollView.CenterYAnchor.ConstraintEqualTo(View.CenterYAnchor).Active = true;

В результате я получаю горизонтальную прокрутку в портретном режиме, чтобы я мог видеть весь мой контент. Когда я поворачиваю устройство в альбомном режиме, вертикальная прокрутка выглядит нормально, но мой контент внутри стека не растягивается вправо от экрана. Перепробовал все решения на stackoverflow, но ни одно из них не работает. Многие решения говорят, что ключевой момент - ширина прокрутки должна соответствовать ширине стека, что, как я ожидаю, должна сделать моя строка кода ниже

ReallocateStackView.WidthAnchor.ConstraintEqualTo(scrollView.WidthAnchor);

Не уверен, что я делаю не так, может кто-то, пожалуйста, помогите.

...