Tag: xamarin

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 = […]

带有MVVMCross的UICollectionView节

最近,有人要求我在Xamarin.iOS上的各部分中实现CollectionView。 在该项目中,我们使用了MVVMCross。 我知道可以在iOS本机上执行此操作,因此我想到了在Xamarin中执行此操作的解决方案。 不幸的是,我没有找到示例代码,所以我不得不自己弄清楚😢 在本文中,我将向您展示如何在Xamarin上实现Sectioned UICollectionView。 尽管在示例代码中,我正在使用MVVMCross处理绑定等。这并不意味着它仅适用于此框架。 跨框架一😉 出于本教程的目的,我将创建一个书籍列表。 将有几个类别,每个类别可以包含不同数量的书籍。 我们走吧! 如果您只想了解代码,请在本文结尾处找到指向Github上的示例存储库的链接。 免责声明 在我们开始之前还有另外一件事:我认为这种解决方案不是完美的解决方案。 它是基于SWIFT代码,StackOverflow答案和其他小提示构造的。 我将所有内容放在一起并制作了样本。 为了使UI更好,我添加了FFImageLoading库,以便可以显示书籍缩略图。 逐步解决方案 介绍后,让我们继续进行一些编码。 首先 ,创建您的UICollectionView并将其添加到您的视图/页面。 基本上,此步骤实际上并不重要-您只需要添加UICollectionView。 下一步(第二步),我建议您创建ItemCells和HeaderCell 。 为了创建ItemCells,您需要创建一个派生自MvxCollectionViewCell的类。 您可以通过创建XIB文件或.cs文件来实现。 填充视图,创建绑定,然后完成。 矿井看起来像这样 如您所见,我们有一个不错的CollectionView,分为几部分。 这就是我们应该达到的目标,这就是已经实现的目标! 完善! 😇 CollectionViews与FlowLayout相结合是iOS上的强大控件。 添加页眉和页脚会赋予它们额外的功能。 使用iPad或更大的iPhone屏幕时,我总是喜欢看到它们。 它们看起来比TableViews更好,它们表现良好,而且非常易于使用。 我真的希望有人会对这篇文章有所帮助。 正如我在简介中所述,在网上找不到类似的文章,所以我决定自己写一篇。 如果您发现任何错误或不清楚的地方,请随时写评论问我。 如果您觉得这篇文章有用,请给我一些爱,然后单击下面的拍手按钮。 它使我充满动力!

使用Flutter进行跨平台移动应用程序开发— Xamarin — React Native:以性能为中心的比较

上周四(2017年8月),我荣幸地在弗吉尼亚州麦克莱恩市的Capital One的iOS峰会上发表了演讲。 这是我第三次参加会议,也是我第二次有机会上台。 场地是一个令人印象深刻的礼堂,组织无可挑剔,听众充满活力和开朗。 我参加了许多有趣的演讲,与来自全国各地的热情软件工程师会面并交流了想法。 我没有演讲视频,但我将分享摘要和幻灯片。 开始了。 移动应用程序开发已经超出了我们最疯狂的梦想。 据估计,全球有20亿部智能手机,其中99%以上运行iOS或Android。 为了吸引更多用户,开发人员需要同时针对这两个平台。 不幸的是,出于多种原因,这样做远非易事。 开发人员必须学习两种语言(在iOS上以前是Objective-C,但现在是Swift;在Android上Kotlin变得比Java势头强劲)和两种平台。 通常,还需要两个平台团队。 这种方法既缓慢又昂贵。 很难调整iOS和Android功能的发布时间表。 至少,App Store审核过程使及时发布iOS更具挑战性。 很难在任何一个平台上提供令人愉悦的体验,甚至更难重复两次。 更糟糕的是,如果并且当需要支持网络时(不幸的是有时是事后的想法),难度将成倍增加。 以前,我们已经看到了跨平台的解决方案,但是它们要么在性能上折衷,要么达到设计期望。 Google,Facebook和Microsoft一直在努力工作,我认为他们现在拥有值得再次关注的解决方案。 我想探索三种流行的框架:Flutter,Xamarin和React Native,解释它们的含义,工作方式,并以性能为重点将它们相互比较。 我的希望是,阅读本文后,您会被启发去检查它们,并足够了解,以便在您的脑海中制定出哪种技术可能是满足您需求的正确选择。 让我们从Flutter开始。 这是由Google开发的开源移动应用SDK。 它为开发人员提供了一种简单而又高效的方法,可以在Android和iOS上构建和部署美观,高性能的移动应用程序。 它的独特之处在于它既不使用Web视图也不使用iOS / Android UI组件,但仍使用其自己的呈现引擎以本机方式绘制所有内容。 Flutter团队没有重新发明轮子,而是对Google内部的项目进行了广泛的研究,并在合理的范围内重复使用了许多现有代码。 他们从Chrome,WebKit,Android中获取了相关内容,并构建了一个苗条的C ++引擎。 他们选择使用Dart构建其余框架。 该框架实现动画,绘画,手势,渲染,并提供Material Design组件的实现以及稀疏的iOS主题组件库。 在iOS上,C ++引擎是使用LLVM编译的,而Dart代码是AOT(提前)编译成本地代码的。 在Android上,C ++引擎使用Android NDK(本机开发套件)进行编译,并且Dart代码在Dart VM(虚拟机)上运行,后者生成JIT(即时)编译的优化本机代码。 实施JIT编译的系统会连续分析正在执行的代码,识别出可能加速的部分,并将这些代码段转换为设备的CPU指令集。 转换后的代码称为本机代码,它直接在CPU上执行,而不是在VM上运行。 Flutter的特定于平台的API支持不依赖于代码生成,而是依赖于灵活的消息传递系统。 应用程序的Flutter部分(客户端)通过平台通道将消息发送到应用程序的iOS或Android部分(主机)。 主机在平台通道上侦听并接收这些消息。 然后,它使用本机编程语言调用任意数量的特定于平台的API,并将响应发送回客户端。 有关典型Flutter应用程序的内存,CPU和GPU利用率的性能讨论,请参考幻灯片。 有趣的是,我在运行这些测试时发现了内存泄漏问题。 我还没有机会向Flutter提交错误,但我将在接下来的几天内提交。 让我们进入列表中的下一个框架Xamarin。 Xamarin是Microsoft开发的一种开源技术,用于使用C#来构建iOS,Android和Windows Phone […]

开发人员的生活07–08.03.2018

今天,我设法完成了几件事。 我将对Xamarin原型应用程序的更改合并到了我的Generator App中,因此现在生成的代码可以正常工作了! 这可能远非完美,但没有软件是开箱即用的。 我需要考虑下一个(新的)项目是什么,它将测试是否发现任何错误并找到可以改进所生成代码的更多功能(更多功能,更多体系结构组件等)。 我设法在iOS应用程序中通过“呼吸”操作栏上的图标进行操作。 问题有几个: 首先,“动作栏按钮”项需要小图标(50×50)。 这与我以前在Android平台上(至少从以前的设计准则中)习惯的做法不同,在Android平台上,您将不同大小的图像(从192×192到36×36)放置到不同的文件夹中,然后系统选择要加载。 看起来有一个创建图标的准则,即图标应看起来是不透明的,其余图标则是透明的。 我以这种方式在Android上也创建了图标,但是对于新的(可能已经不是那么新的)设计指南,将图标放置在工具栏(组件)上。 我认为这称为清晰设计。 由于我是主要专注于功能的程序员,因此您必须对我在UI方面的空白感到抱歉。

推送通知—第二部分:Implementando Xamarion.iOS

Este教程和实现通知的连续性。 在iOS上无所事事的教程,以及Firebase的通知通​​知。 Entsãvamos iniciar o passo a passo da nossaaplicação。 Passso 1:Iremos criar um projeto Xamarin.iOS,或您好,HelloFirebaseIOS,como identificifica na figura abaixo: Agoravocêdeve selecionar等同于aplicativoiráfuncionar的版本。 Neste教程iremos defini-la como 9。 七彩凤仙花(Estrutura criada deve ser semelhante) Passo 2:Agora可以管理Xamarin.Firebase.iOS.CloudMessaging。 可以为完成结业而创建的全书,请参考estarádisponível,因为没有任何项目的图书馆。 Passo 3:Atenção,或在criamos上没有教程passadoseráutilizado neste passo。 链接。 在iOS上下载或下载Firebase版本,请下载GoogleService-Info.plist参数。 Adicione este arquivo a raiz do projeto em seguida clique com obotãoesquerdo no arquivo e […]

在Xamarin.iOS中捕捉UICollectionView

我在玩Xamarin.iOS UICollectionView控件,试图使其表现得像UIPageViewController ,即,我想要的是在滚动水平集合时的捕捉/滑动效果。 我的愿望清单上的另一个功能是屏幕尺寸,例如具有足够空间的项目可以显示上一个和下一个项目内容的一小部分,因此应用程序用户可以轻松地理解该集合以及该集合可以被捕捉/滑动水平地。 从我的角度来看,这种行为可以提高应用程序的用户体验。 这是我想到的演示。 这是在Xamarin iOS应用程序中实现所描述行为的最简单,最可靠解决方案的重要部分。 首先,扩展UICollectionViewDelegateFlowLayout并重写GetSizeForItem , GetInsetForSection , GetMinimumLineSpacingForSection方法以设置所需项目的大小和间距。 然后重写WillEndDragging方法,以在应用手势后滚动所需的项目。 其次,请确保设置UIScrollView.DecelerationRateFast 。 最后,不要忘记使用UICollectionViewScrollDirection.Horizontal 。 我将其设置在HorizontalCollectionViewFlowLayout ,该GetInvalidationContextForBoundsChange也用于重写GetInvalidationContextForBoundsChange方法,以便在设备旋转期间强制重新计算项目的宽度。 就是这样。 不要犹豫,使用我上载到GitHub的演示Xamarin.iOS项目。 Pavel-Sulimau / SnappingUICollectionView 捕捉Xamarin.iOS UICollectionView。 通过创建一个 github.com 来为Pavel-Sulimau / SnappingUICollectionView开发做出贡献。 资料来源: https://docs.microsoft.com/zh-cn/xamarin/ios/user-interface/controls/uicollectionview https://stackoverflow.com/questions/29658328/uicollectionview-horizo​​ntal-paging-not-centered https://medium.com/@shaibalassiano/tutorial-horizo​​ntal-uicollectionview-with-paging-9421b479ee94 https://stackoverflow.com/questions/33855945/uicollectionview-snap-onto-cell-when-scrolling-horizo​​ntally http://aplus.rs/2015/how-to-invalidate-flow-collection-view-layout-on-rotation/

绑定Swift库— Xamarin.iOS

这篇文章最初发布在Stack Overflow文档上,许多其他人对此做出了贡献,不幸的是,无法找到他们是谁。 如果您对此做出了贡献,请告诉我,以便我们给予适当的感谢。 易于遵循的指南,将引导您完成绑定Swift .framework文件以用于Xamarin项目的过程。 1.在Xcode中构建库时,可以选择包含swift库。 别! 它们将以NAME.app/Frameworks/LIBRARY.framework/Frameworks/libswift * .dylib的形式包含在您的最终应用程序中, 但是必须以NAME.app/Frameworks/libswift* .dylib的形式包含在其中。 2.您可以在其他地方找到此信息,但值得一提:不要在库中包含Bitcode。 截至目前,Xamarin尚未包括适用于iOS的Bitcode,Apple要求所有库都支持相同的体系结构。 在Xamarin.iOS中绑定Swift库的iOS对Objective-C遵循与https://developer.xamarin.com/guides/ios/advanced _topics / binding_objective -c /中所示的相同过程,但有一些警告。 1.一个快速类必须从NSObject继承才能绑定。 2. Swift编译器会将类和协议名称转换为其他名称,除非您在swift类中使用[@objc]批注(例如@objc(MyClass))来指定显式目标c名称。 3.在运行时,您的APP必须在名为Frameworks的文件夹中包含一些快速核心库以及绑定的框架。 4.将应用程序推送到AppStore时,它必须在Payload文件夹旁边包括一个SwiftSupport文件夹。 这些都在IPA文件中。 在这里您可以找到一个简单的示例绑定:https://github.com/Flash3001/Xamarin.BindingSwiftLibrarySample 以及完整的绑定示例:https://github.com/Flash3001/iOSCharts.Xamarin 对于您要使用的任何Swift类,您都必须继承自NSObject,并使用objc注释使Objective-C名称显式。 否则,Swift编译器将生成不同的名称。 下面是一个示例代码,说明Swift类的外观。 注意,只要根类继承自NSObject,它继承哪个类都没有关系。 //添加它以指定明确的目标c名称 @objc(MyClass) 打开类MyClass:NSObject { 打开func getValue()->字符串 { 返回“值来自MyClass.swift!”; } } 1.2建立框架 禁用位码。 * 为设备和模拟器发布而构建。 * *仅与Swift绑定无关。 一个框架包含几个文件,一个需要吃一点的文件是NAME.framework / NAME(不带扩展名)。 –将Release-iphoneos / NAME.framework复制到NAME.framework –使用以下方法创建FAT库: […]

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中添加的属性,我的状态栏文本颜色保持黑色。 有什么我失踪?

ViewController到ViewController在Xamarin中继续

我不想使用buttonsegue其他viewcontroller。 我想使用viewcontroller查看控制器segue和使用具有segue标识符的任何button。 或者想象我的viewcontroller中没有任何button。 我只有tableviewcontroller,一旦用户点击任何行,然后继续发生。 看到我的代码片段写在本地iOS。 我没有遇到类似的方法在Xamarin继续。 现在我已经把头撞在墙上了。 在Xamarin中有没有类似的方法来实现相同的function? – (void)buttonTapped:(UIButton *)sender { [self performSegueWithIdentifier:@"isClicked" sender:self]; } – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { UserInfoViewController *uVC = [segue destinationViewController]; if ([segue.identifier isEqualToString:@"isClicked"]) { // do what you want } }