Tag: xamarin.forms

使用Xamarin.Forms在iOS上过渡动画

Xamarin.Forms允许开发人员立即编写漂亮的移动和桌面应用程序。 可以一次创建组件,一次布局组件,仅一次动画组件! 它的性能和稳定性得到了改善,因此几乎是完美的! 只有很少的棘手的事情真的很难使用此框架来实现。 最需要的一种是页面之间的过渡动​​画。 甚至可以用Xamarin.Forms编写这样的东西吗? 当然! 如果您真的不耐烦,只需从此仓库中获取源代码即可: OlexaLe / BeatleApp 通过在GitHub上创建一个帐户为BeatleApp开发做出贡献。 github.com 在iOS上,默认演示文稿动画看起来像是从当前页面到新页面的从右到左的简单幻灯片 。 不幸的是,我们不能做很多事情。 您可以尝试模仿具有Views的Pages并为它们之间的动画设置过渡,但是您实际上并不需要这样 (相信我,我在那里)。 尽管您可以使用Page的OnAppearing / OnDisappearing 生命周期方法来模拟过渡动画,然后再进行一次-为Pages中的View设置动画。 Xamarin论坛上介绍了此解决方案的实现,但是还有另一种方法- 本机动画 ! 让我们来编写一个应用 让我们从Wikipedia中获取图像和文本,并为披头士乐队的粉丝创建一个简单的应用程序。 它将只有2页。 第一个将包含一个带有音乐家照片和姓名的网格。 第二页将显示所选披头士的简短简介。 您可以从https://github.com/OlexaLe/BeatleApp/tree/master/BeatlesApp-start获取入门项目。 在设备上运行它时,您将看到以下内容: 简单动画 那么如何降低它的标准性呢? 模态和常规导航的行为不同,因此其自定义也不同。 现在让我们专注于常规导航 。 在本机iOS中,您可以通过2个步骤实现自定义过渡动画: 实现采用UIViewControllerAnimatedTransitioning协议的动画对象 采用UINavigationControllerDelegate协议返回动画对象 我们的第一个自定义过渡动画将非常简单。 让我们从导航中删除此从右到左的过渡,并以透明效果在当前上方显示新页面。 为了做到这一点,让我们遵循最初的计划并实现animator对象: Niiii​​ce,但您可以发挥自己的想象力,创建更精彩的动画师类。 例如,让我们添加一个缩放效果! 高级动画 首先,我们需要知道用户点击了哪个图像,因此让我们为图像分配唯一的标识符。 我们可以通过多种方式做到这一点。 正确的方法可能是使用TransitionId字段( 继承或救援的附加属性 )扩展UI组件,但只是为了向您说明模式,我将使用Effect分配UIKit的UIKit的Tag字段。 该应用程序的核心部分几乎没有更改,主要的复杂性仍在动画对象中,但是您可以编写一次,将其包装在库中,然后在其他项目中重用。 结论 在Xamarin.iOS项目中创建复杂的动画很容易,但是正如您在Xamarin中所看到的那样, 窗体的开销确实很大。 […]

Xamarin.iOS构建选项

Xamarin IDE为iOS和Android提供了非常有用的构建选项。在这里,我们讨论可用于iOS的构建选项。 可以使用各种配置和平台进行配置。 在这里,我仅考虑将其用于两种配置和平台,但是您可以根据自己的选择进行配置。 我在这里考虑的配置是Debug and Release,而Platform是模拟器和Device。 注意:有些构建选项对于调试配置是不可选择的。 什么是构建选项,它的用途是什么? 构建选项是在构建应用程序时可以使用的预定义规则或配置,换句话说,我们可以称其为构建应用程序时可以应用的一组规则。 它用于减少构建时间,应用程序大小,提高应用程序性能等。 如何打开Xamarin.iOS应用程序的构建选项? 您可以通过双击iOS项目来打开构建选项,或者右键单击它,在Mac的Visual Studio中选择“选项”,在Windows的Visual Studio中选择“属性”,然后从左侧面板中选择iOS生成选项。 您可以更改每个可用配置和平台的构建选项。 有关如何更改和添加构建配置和平台的更多详细信息,请检查:https://blog.xamarin.com/demystifying-build-configurations/ 有关配置和平台选项,请参见附图(Visual Studio for Mac的屏幕截图)。 了解构建选项 如上图所示,有许多可用的构建选项,每个都有不同的用法和优点,其中一些可能在某些配置和平台上不可用。 SDK选项:这使您可以选择系统上安装的iOS SDK版本,以用于构建应用。 链接器行为:在构建应用程序时,Visual Studio for Mac或Visual Studio会调用一个名为mtouch的工具,该工具包括托管代码的链接器。 链接器可以删除未使用的代码,以减少应用程序的整体大小。 链接器使用静态分析来确定您的应用程序易于遵循的不同代码路径。 这是一个繁重的过程,因此在编译时会花费一些时间,因为它必须遍历每个程序集的每个细节,以确保不会删除任何可发现的东西。 可以通过从可用选项中选择选项来定制链接器行为。 Xamarin提供的主要三个选项如下所述。 不链接:选择此选项意味着链接步骤将被跳过,并且不会删除任何代码。 这样可以加快构建过程,但会产生较大的IPA。 在构建应用程序时使用它是有意义的,因为作为开发人员,您关心的是减少构建应用程序的时间 仅限于Link Framework SDK:此选项将使您当前的应用程序程序集保持不变,并通过删除应用程序未使用的所有内容来减小Xamarin.iOS(Xamarin.iOS SDK)附带的程序集的大小。 当您将平台定位到iOS设备时,此选项最适合。 此选项与“全部链接”选项的区别在于它无法执行少量优化。 全部链接:设置此模式时,链接程序可以使用其优化的整个集合来尽可能减少应用程序。 它将同时对用户代码执行链接操作,从而修改用户代码,因此,当您的代码使用某种功能(链接程序的静态分析无法检测到)(对于Web服务,反射或序列化)时,它有时可能会中断。 可能需要对代码进行一些更改才能使应用程序链接所有内容。 您可以从此处找到有关链接和链接器安全代码的更多详细信息:https://developer.xamarin.com/guides/ios/advanced_topics/linker/ 支持的体系结构:此选项指定可以在哪些设备上运行应用程序。 根据处理器体系结构,它具有许多选项。 下面列出了每个设备名称。 ARMv7 – iPhone 3GS,4、4s。 […]

Xamarin将iOS配对到Mac

Xamarin Form Hello Worldที่ได้ทิ้งท้ายใว้ว่าจะมาสอนวิธีการBuildลงiOSอร่าตรตอนนี้เราจะมาลองกันครับ กนื่องจากiOSเป็OSที่ค่อนข้างเข้มง่วดของAppleและค่อนข้างSecurityสูงเอามากๆและโค๊ดต่างๆนาๆที่จะทำก็ไม่ใช่ว่าจะฟรีทั้งหมดแต่ทางAppleก็ยังพอเปิดโอกาศให้ผู้พัฒนาได้มาใช้ กันได้อยู่ซึ่งวิธีการต่อไปนี้ผมผู้เขียนไม่ได้คิดขึ้นมาเองและไม่ได้จะทำเองและไม่ได้จะทำเยเพราะว่าเค้ามีวิธีการให้อยู่แล้วแต่ผมจะนำเอาส่วนที่สำคัญๆมานะครับซึ่งเข้าไปอ่านได้เลยที่ นี่https://docs.microsoft.com/en -我们/ xamarin / ios /入门/安装/ windows /连接到mac / iOS上的Visual Studio上的Visual Studio上的iMac上的wifi上的。 งนับอเครื่องiMacครับ(สำหรับVMไม่เครลองแต่คิดว่าคงจะทำได้เหมือนกัน) ู้ขั้นตอนนะครับ 注意在按照本指南中的说明进行操作之前,请完成以下步骤: -在Windows机器上,安装Visual Studio 2017 -在Mac上,安装Xcode和Visual Studio for Mac – 安装后必须手动打开Xcode,以便它可以添加任何其他组件。如果您不想安装Visual Studio for Mac,则Visual Studio 2017可以使用Xamarin.iOS和Mono自动配置Mac构建主机。 您仍然必须安装并运行Xcode。 有关更多信息,请参阅Mac自动配置。 注释注释注释注释注释注释注释注释注释注释注释注释注释注释Xcode注释注释注释Xcode注释注释在iMac上运行Visual Studio 2017的新功能在Visual Studio上运行Visual Studio的Visual Studio 2017(Xamarin Studio) ไม่สอนล กันแค่แปลก็พอแล้ว 远程登录iMac远程登录มามาได้ก่อนงนี้งอมาเราจะมาเปิดให้เครื่อง ที่Macเปิด系统偏好设置และไปที่共享窗格。 检查“远程登录”服务列表。 共享远程登录共享Visual Studio 2017共享Windows共享Windows与Mac配对。 งน้าต่าง配对到Macและมีรายชื่อMacและอื่นๆที่เราตั้งชื่อหรือตั้งค่าเอาใว้โผล่มาแล้วให้เราเลือกที่Macที่เราตั้งค่าใว้แล้วเลือกConnect… ถ้านี่เป็นการเชื่อมต่อครั้งแรกจะต้อง登录ก่อนและครั้งต่อไปจะไม่มีหน้าต่างนี้ขึ้นมนมาอีกเลย […]

OX do Xamarin表格-分段控件

Fala galera, tudo beleza? 分段控制éum controle bem法律que pode ser utilizado para selecionar opõçéum子菜单,alterar oconteúdode uma tela ou等。 可以在iOS上运行的工具,可以在Android上实现必需的实现。例如,可以在Xamarin上实现。 Hoje lhes trago meu控制Xamarin.Forms.SegmentedButton参数解析器可解决问题。 Vamos ver como utilizar吗? 配置控制 Vamos ao nosso querido nuget baixar o pacote Xamarin.Forms.SegmentedButton e instalar no projeto compartilhado: Pronto sem maisconfigurações😀 Utilizando o controle Vamos criar uma MainPage可以简单地实现以下方式:xmlns:sb =” clr-namespace:Xamarin.Forms.SegmentedButton; assembly = […]

Xamarin iOS状态栏文字颜色

我无法将Xamarin Forms iOS应用程序的状态栏文本颜色更改为白色。 我已经尝试了在互联网上发现的多个解决scheme和堆栈溢出,他们都没有为我工作。 这就是我所做的: 更新我的info.plist,其中添加了布尔属性View Controller-Bases Status Bar Appearance ,并将其设置为No / False 我在App.cs中添加了我的MainPage,它是一个NavigationPage, BarTextColor = Color.White 问题是,现在我没有状态栏了,在这种情况下,我删除了info.plist中添加的属性,我的状态栏文本颜色保持黑色。 有什么我失踪?

Azure AD B2C在Xamarin.Forms iOS应用程序中指定多个标识提供程序

我已经使用了以下示例iOS项目。 这个示例非常简单,我可以通过ADAL来加载login视图并请求用户身份validation,这一切都很好。 现在,我打算通过显示具有多个身份提供者(G +,Twitter,Fb等)的login视图进一步说明问题。 在Web应用程序中,当我请求身份validation时,可以看到多个身份提供者,因为我们可以在web.config中指定策略,如下所示: <add key="ida:Tenant" value="sometenant.onmicrosoft.com" /> <add key="ida:ClientId" value="clientidguid" /> <add key="ida:ClientSecret" value="clientsecret" /> <add key="ida:AadInstance" value="https://login.microsoftonline.com/{0}{1}{2}" /> <add key="ida:RedirectUri" value="https://localhost:44321/" /> <add key="ida:SignUpPolicyId" value="b2c_1_xyz_policy" /> <add key="ida:SignInPolicyId" value="b2c_1_xyz_sign_in" /> <add key="ida:UserProfilePolicyId" value="b2c_1_xyz_editing" /> 我有相同的redirecturi,我已经在应用程序中使用(我也尝试使用redirecturi为本机客户端没有运气) 我想知道,如何在Xamarin表单项目中指定策略,以便我可以在iOS应用程序中看到用户login的多个身份提供者? 提前致谢!

在Xamarin.ios中,video不能在iOS 10以上版本上播放

我使用ROXvideo播放器播放videos.its工作正常和低于iOS版本10.0,它显示在上面的iOS 10.2.1版本的白色屏幕。 我已经改变了info.plist的所有设置和权限…..

在XCode上创buildconfiguration文件

我试图在我的iPhone上debugging应用程序(Xamarin.Forms)。 我的Windows PC上已经安装了Visual Studio,我正在编写应用程序,在我的Mac上安装了Visual Studio和XCode。 我也在我的开发者帐户上注册了iPhone。 但是,似乎我也需要一个configuration文件。 但是我所看到的演练与当前的XCode不一样。 当我点击首选项 – 帐户时,我看到我的帐户,但无处添加configuration文件。 (iPhone是否需要使用与Mac上相同的Apple IDlogin,我拥有开发者帐户? 我应该如何补充?

Xamarin Forms – 所选项目的Listview将所有背景改为相同

当您select一个项目时,我发现一个错误所有的孩子背景都改变了相同的颜色。 在所有的元素中,我把属性BackgroundColor。 这只发生在iOS中 按照代码示例: XAML <ListView x:Name="ListPainel" SeparatorColor="#d2d8e2" SeparatorVisibility="Default" Margin="0" ItemsSource="{Binding ListPainel_Source}" HasUnevenRows="true" RefreshCommand="{Binding ListPainel_RefreshCommand}" IsRefreshing="{Binding ListPainel_IsRefreshing}" > </ListView> 部分ViewCell protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); dynamic temp = BindingContext; PainelDto painel = (PainelDto)temp; … if(painel.HasDetalhes) { Button detalhes = new Button() { Text="VER DETALHES", FontSize = 12, TextColor = Color.FromHex("#4482ff"), HorizontalOptions = LayoutOptions.End, VerticalOptions […]

Xamarin.Forms ZXing.Net.Mobile在iOS 10上扫描结果后丢失当前页面

我正在使用Xamarin.Forms,我已经实现了ZXing.Net.Mobile扫描条形码。 在Android上它工作正常,在iOS 10上读取条形码后,会触发函数“OnScanResult”并执行closures扫描页面的命令Navigation.PopAsync(),但是在closures之后,它也closures当前显示结果的页面! MyTapScan.Tapped += async (sender, e) => { await MyBtScan.ScaleTo(1.20, 100, Easing.Linear); await MyBtScan.ScaleTo(1, 100, Easing.Linear); await Task.Delay(50); //——————————————– MyAppLib.MyAppUtilitiesBarCodeReader MyBarCodeReader = new MyAppLib.MyAppUtilitiesBarCodeReader(); var MyScannerPage = MyBarCodeReader.GetBarCodeReaderPage(); //——————————————– MyScannerPage.OnScanResult += (result) => { //Stop scanning MyScannerPage.IsScanning = false; //Pop the page and show the result Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); MyMachSerialNumber.Text = result.Text; […]