在滚动视图可见区域之外创建的视图上的触摸事件

本文关键字:视图 创建 触摸 事件 滚动 区域 | 更新日期: 2023-09-27 18:05:06

我在视图结构中遇到了这个问题:

控制器->视图-> ScrollView -> mainview

,我有一个按钮加载在主视图,但在滚动视图的可见内容之外。当我向上滚动看到按钮时,触摸不起作用,但如果我将按钮加载在可见区域,它就会起作用。

我也尝试了一个简单的imageview和设置一个手势识别器(启用用户交互),问题是完全相同的。

这是我定义按钮的地方:

 UIButton scrapbookbackground = new UIButton(new CGRect(SPACING, progresses_view.Frame.Y + progresses_view.Frame.Height + SPACING, View.Frame.Width - SPACING * 2, 90));
        scrapbookbackground.BackgroundColor = UIColor.Clear.FromHex(0x4f80bc);
        scrapbookbackground.Layer.CornerRadius = 10f;
        scrapbookbackground.Layer.BorderWidth = 1f;
        scrapbookbackground.Layer.BorderColor = UIColor.Blue.CGColor;
        scrapbookbackground.ClipsToBounds = true;
        scrapbookimg = UIImage.FromFile("Images/scrap_capa.png");
        scrapbookbackground.SetBackgroundImage(scrapbookimg, UIControlState.Normal);
        scrapbookbackground.TouchUpInside += (args, e) => {
            Console.WriteLine("scrapbooktouch");
            NavigationController.PushViewController(new ScrapBookPageViewController(), true);
        };
        mainview.Add(scrapbookbackground);

在滚动视图可见区域之外创建的视图上的触摸事件

明白了。没有正确设置scrollview的内容大小