Xamarin IOS UILabel在UIScrollView中点击手势不起作用
Posted
技术标签:
【中文标题】Xamarin IOS UILabel在UIScrollView中点击手势不起作用【英文标题】:Xamarin IOS UILabel Tap Gesture inside UIScrollView not working 【发布时间】:2016-08-25 16:13:29 【问题描述】:我有一个 UIScrollView,里面有一个 UILabel。我需要检测 UILabel 的点击手势事件。目前,它不起作用。我是 xamarin ios 的新手,请帮忙。提前致谢。
这是我的代码
UILabel lViewallLabel = new UILabel(new CGRect((View.Bounds.Width / 2) - 20, 270, View.Bounds.Width / 2, 16));
lViewallLabel.Text = "VIEW ALL >>";
lViewallLabel.TextAlignment = UITextAlignment.Right;
lViewallLabel.TextColor = UIColor.White;
lViewallLabel.Font = UIFont.SystemFontOfSize(12f);
lViewallLabel.AdjustsFontSizeToFitWidth = true;
lViewallLabel.UserInteractionEnabled = true;
UITapGestureRecognizer tgrLabel2 = new UITapGestureRecognizer(() =>
UIAlertView myAlert = new UIAlertView();
myAlert.AddButton("OK");
myAlert.Message = "Label was tapped.";
myAlert.Title = "It worked!";
myAlert.Show();
);
lViewallLabel.AddGestureRecognizer(tgrLabel2);
innerView.AddSubview(lViewallLabel);
scrollView.AddSubview(innerView);
【问题讨论】:
【参考方案1】:我已经使用下面的代码解决了这个问题。代码的小改动,我已经将UILabel直接添加到UIScrollView而不是innerview。
UITapGestureRecognizer singleTap = new UITapGestureRecognizer();
singleTap.CancelsTouchesInView = false;
scrollView.AddGestureRecognizer(singleTap);
scrollView.AddSubview(lViewallLabel);
这个post帮助我解决了这个问题。
【讨论】:
以上是关于Xamarin IOS UILabel在UIScrollView中点击手势不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何使标签文本中的链接可用于语音(可访问性)? (iOS,Xamarin)
尽管我正确设置了y,但Toast UILabel出现在屏幕外
如何使用 c# 在 Xamarin.Ios 中将 UIColor 转换为字符串和字符串转换为 UIColor
我无法在 Xamarin Studio 上使用 C# 更改 CollectionViewCell 的 UILabel 字体