Repository: dotnet/maui
File: src/Core/src/Handlers/Slider/SliderHandler.iOS.cs (C#)

Code before:
		readonly SliderProxy _proxy = new();
		UITapGestureRecognizer? _sliderTapRecognizer;

		protected override UISlider CreatePlatformView()
		{
			var platformSlider = new UISlider { Continuous = true };

			if (OperatingSystem.IsMacCatalystVersionAtLeast(15) && platformSlider.TraitCollection.UserInterfaceIdiom == UIUserInterfaceIdiom.Mac)
				platformSlider.PreferredBehavioralStyle = UIBehavioralStyle.Pad;

			return platformSlider;
		}

		protected override void ConnectHandler(UISlider platformView)
		{
			base.ConnectHandler(platformView);
			_proxy.Connect(VirtualView, platformView);
		}

		protected override void DisconnectHandler(UISlider platformView)
		{
			base.DisconnectHandler(platformView);
			_proxy.Disconnect(platformView);
			if (_sliderTapRecognizer is not null)
			{
				PlatformView.RemoveGestureRecognizer(_sliderTapRecognizer);
				_sliderTapRecognizer.Dispose();
				_sliderTapRecognizer = null;
			}
		}

		internal void MapUpdateOnTap(bool isMapUpdateOnTapEnabled)
		{
			if (isMapUpdateOnTapEnabled)
			{
				if (_sliderTapRecognizer == null)
				{
					_sliderTapRecognizer = new UITapGestureRecognizer((recognizer) =>
					{
						var control = PlatformView;
						if (control != null)
						{
							var tappedLocation = recognizer.LocationInView(control);
							if (tappedLocation != default)
							{
								var val = tappedLocation.X * control.MaxValue / control.Frame.Size.Width;
								VirtualView.Value = val;
							}
						}
					});
					PlatformView.AddGestureRecognizer(_sliderTapRecognizer);

Review comment (suggestion):
to be safe, set `_sliderTapRecognizer.ShouldReceiveTouch = null;` here

Code after:
		readonly SliderProxy _proxy = new();
		UITapGestureRecognizer? _sliderTapRecognizer;

		protected override UISlider CreatePlatformView()
		{
			var platformSlider = new UISlider { Continuous = true };

			if (OperatingSystem.IsMacCatalystVersionAtLeast(15) && platformSlider.TraitCollection.UserInterfaceIdiom == UIUserInterfaceIdiom.Mac)
				platformSlider.PreferredBehavioralStyle = UIBehavioralStyle.Pad;

			return platformSlider;
		}

		protected override void ConnectHandler(UISlider platformView)
		{
			base.ConnectHandler(platformView);
			_proxy.Connect(VirtualView, platformView);
		}

		protected override void DisconnectHandler(UISlider platformView)
		{
			base.DisconnectHandler(platformView);
			_proxy.Disconnect(platformView);
			if (_sliderTapRecognizer is not null)
			{
				_sliderTapRecognizer.ShouldReceiveTouch = null;
				platformView.RemoveGestureRecognizer(_sliderTapRecognizer);
				_sliderTapRecognizer.Dispose();
				_sliderTapRecognizer = null;
			}
		}

		internal void MapUpdateOnTap(bool isMapUpdateOnTapEnabled)
		{
			if (isMapUpdateOnTapEnabled)
			{
				if (_sliderTapRecognizer is null)
				{
					var weakPlatformSlider = new WeakReference<UISlider>(PlatformView);
					var weakVirtualSlider = new WeakReference<ISlider>(VirtualView);
					_sliderTapRecognizer = new UITapGestureRecognizer((recognizer) =>
					{
						if (weakPlatformSlider.TryGetTarget(out var platformSlider) && weakVirtualSlider.TryGetTarget(out var slider))
						{
							var tappedLocation = recognizer.LocationInView(platformSlider);
							if (tappedLocation != default)
							{
								var val = tappedLocation.X * platformSlider.MaxValue / platformSlider.Frame.Size.Width;
								slider.Value = val;
							}
						}