在这个非常基本的 UIScrollView 中我做错了啥

Posted

技术标签:

【中文标题】在这个非常基本的 UIScrollView 中我做错了啥【英文标题】:What am I doing wrong in this really basic UIScrollView在这个非常基本的 UIScrollView 中我做错了什么 【发布时间】:2017-08-23 15:54:53 【问题描述】:

我试图让这个非常基本的 UIScrollView 水平滚动而不是垂直滚动。我在 Xamarin 开发人员网站上关注此示例:https://developer.xamarin.com/recipes/ios/content_controls/scroll_view/create_a_horizontal_scrolling_button_list/ 但我无法让按钮占据整个滚动视图而只能水平滚动。我一直在按钮列表的顶部和底部得到奇怪的填充。这是我的整个班级:

public partial class StackViewController : UIViewController
        
    public StackViewController()
                
    

    public override void DidReceiveMemoryWarning()
    
        base.DidReceiveMemoryWarning();
    

    public override void ViewDidLoad()
    
        base.ViewDidLoad();

        this.View.BackgroundColor = UIColor.White;            

        nfloat h = 50.0f;
        nfloat w = 50.0f;
        nint n = 25;
        UIScrollView scrollView = new UIScrollView
        
            Frame = new CGRect(0, 100, View.Frame.Width, 100),
            ContentSize = new CGSize((w) * n, h),
            BackgroundColor = UIColor.Green
        ;
        for (int i = 0; i < n; i++)
                        
            var button = new UIButton();
            button.SetTitle(i.ToString(), UIControlState.Normal);
            button.Frame = new CGRect((i * w), 0, w, h);
            button.BackgroundColor = UIColor.Blue;                
            scrollView.AddSubview(button);                
        
        View.AddSubview(scrollView);
    

不知何故,我缺少一些我不知道的填充或布局属性。我是 Xamarin ios 开发的半新手,我知道我缺少一些简单的东西。

【问题讨论】:

【参考方案1】:

UIScrollviews 通常可以添加指示器插入和内容插入。我建议做的是覆盖“ViewDidLayoutSubviews”方法并输入以下代码:

public override void ViewDidLayoutSubviews()

     base.ViewDidLayoutSubviews();

     scrollView.ContentInset = UIEdgeInsets.Zero;
     scrollView.ScrollIndicatorInsets = UIEdgeInsets.Zero;

【讨论】:

就是这样。谢谢你。我一直在寻找一个名为“填充”或其他东西的属性,但一无所获。就是这样。

以上是关于在这个非常基本的 UIScrollView 中我做错了啥的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 和 UIPageControl,我做错了啥?

发生 uiscrollview 事件时未触发 NSTimer

发生 uiscrollview 事件时未触发 NSTimer

uiscrollview——我理解正确吗?

使用 UIScrollview 将 .xib 显示为不同的页面?

UIScrollView中的drawRect裁剪