繁体   English   中英

Xamarin Forms - GestureRecognizers 不再适用于 iOS

[英]Xamarin Forms - GestureRecognizers no longer work in iOS

由于某种原因,我的所有 GestureRecognizers 今天在运行 iOS 模拟器时停止工作。 它们仍然可以在 Android 中运行,但此时在 iOS 中没有任何效果。

我今天确实更新了很多 NuGet 包,这可能会导致问题,但我回滚了所有内容,问题仍然发生。 我今天将我的 Visual Studio 更新到昨天刚刚发布的新版本 16.5.2。 这导致将新版本的 Xamarin.iOS 推送到正在编译代码的 MAC。 不确定这是否是导致问题的原因。

这是一个非常简单的例子:

<StackLayout Padding="0,0,0,0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
  <Frame VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" BackgroundColor="Black">
    <Frame.GestureRecognizers>
      <TapGestureRecognizer Tapped="BtnTest_Clicked" />
    </Frame.GestureRecognizers>

    <Label TextColor="White" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Text="TESTING" />
  </Frame>
</StackLayout>

我的函数 BtnTest_Clicked 从未被调用过。

所以更新某些东西导致它停止工作,但我不知道是什么。 有什么想法吗???

这是我为我的 iOS 项目安装的软件包:

<ItemGroup>
  <Reference Include="System" />
  <Reference Include="System.Xml" />
  <Reference Include="System.Core" />
  <Reference Include="Xamarin.iOS" />
</ItemGroup>
<ItemGroup>
  <PackageReference Include="Autofac">
    <Version>4.9.4</Version>
  </PackageReference>
  <PackageReference Include="Newtonsoft.Json">
    <Version>12.0.3</Version>
  </PackageReference>
  <PackageReference Include="Refit">
    <Version>4.8.14</Version>
  </PackageReference>
  <PackageReference Include="Rg.Plugins.Popup">
    <Version>1.2.0.223</Version>
  </PackageReference>
  <PackageReference Include="RtspClientSharp">
    <Version>1.3.3</Version>
  </PackageReference>
  <PackageReference Include="Sharpnado.Presentation.Forms">
    <Version>1.4.0</Version>
  </PackageReference>
  <PackageReference Include="Telerik.UI.for.Xamarin">
    <Version>2019.3.1023.1</Version>
  </PackageReference>
  <PackageReference Include="Xam.Plugin.Media">
    <Version>4.0.1.5</Version>
  </PackageReference>
  <PackageReference Include="Xamarin.Essentials">
    <Version>1.5.2</Version>
  </PackageReference>
  <PackageReference Include="Xamarin.FFImageLoading">
    <Version>2.4.11.982</Version>
  </PackageReference>
  <PackageReference Include="Xamarin.FFImageLoading.Forms">
    <Version>2.4.11.982</Version>
  </PackageReference>
  <PackageReference Include="Xamarin.Forms" Version="4.4.0.991864" />
  <PackageReference Include="XLabs.Forms">
    <Version>2.0.5782</Version>
  </PackageReference>
</ItemGroup>

现在这个问题已经修复,您可以将 Xamrin Forms 更新到最新版本4.5.0.617 ,然后它将在 iOS 13.4 中工作。

<Frame VerticalOptions="FillAndExpand"
        HorizontalOptions="FillAndExpand"
        BackgroundColor="Black"
        IsVisible="True"
        x:Name="myframe">
    <Frame.GestureRecognizers>
        <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" />
    </Frame.GestureRecognizers>

    <Label TextColor="White"
            HorizontalOptions="FillAndExpand"
            VerticalOptions="FillAndExpand"
            Text="TESTING" />
</Frame>

输出 :

2020-04-22 10:01:06.226721+0800 AppFrameRenderer.iOS[37914:1276862] TapGestureRecognizer_Tapped

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM