Tag: xamarin.ios

如何在iOS(Xamarin C#)游戏中dynamicpopup和隐藏UIPickerView?

我已经看到了一个很好的例子,在以下位置实现UIPickerView : 捡取器在Xamarin.iOS可用 不过,我的情况稍微复杂一点,因为我不想不断地在屏幕上显示select器。 相反,我想根据需要dynamic显示和隐藏我的游戏中的选取器。 具体来说,这是我想要实现的: (A)首先,在我的游戏画面上,当用户点击一个名为“ select背景颜色 ”的button时,我将需要popup一个显示3个值的选取器: 红色,蓝色和绿色 。 (B)接下来,用户可以滚动select器内的颜色列表,并select这三种颜色中的任何一种。 (三)用户正式select颜色后,我需要closures(或隐藏)select器从屏幕上。 (D)最后,我将显示步骤(C)中用户select的颜色。 我觉得我可以轻松地实施步骤(D)。 但是,我的主要问题是:在步骤(C)中,我们如何知道用户何时完成select颜色,以便dynamic地隐藏选取器? 用户可以多次来回滚动查看所有3种颜色,因此,可能很难知道用户何时最终做出select。 还是有理由期望用户完成select颜色后,他们会点击select器外的任何空间? 这是标准的行为吗? 或者,而不是使用捡拾器,我应该写我自己的定制“无线电button” ? (不幸的是,iOS没有标准的单选button,因此devise我自己定制的单选button控件会花费很多时间…)或者,您能推荐另一个iOS标准控件吗? 我将非常感谢您对我的问题的回答,或对如何解决我的技术问题的build议。 此外,如果你可以给我演示步骤(C)或(A)和(B)和(D)的任何示例代码,我也非常感激。 主要是我不知道如何处理步骤(C),这是我的问题的主要观点。 顺便说一句,我只能用Xamarin.iOS在C#中编写代码。 所以,如果你能用C#展示我的代码,那将是非常棒的。 非常感谢。

使用IPv6和Azure的iOS问题

我们的一个Xamarin.iOS应用程序被拒绝了,因为Service-URI似乎不能从IPv6networking获得。 从2016年6月1日开始,苹果希望所有的iOS应用程序能够在仅支持IPv6的networking中完全兼容。 看来,微软Azure还不支持IPv6。 有没有人遇到类似的问题,并知道如何解决这个问题? 为了logging,我们使用MvvmCross作为框架。 更新:这是苹果的回应: 你好, 感谢您重新提交您的应用程序进行审查。 但是,前一个问题还没有解决。 性能 – 2.1 在连接到IPv6networking的Wi-Fi上运行iOS 9.3.4的iPad和iPhone上进行审核时,我们发现您的应用中存在一个或多个错误。 具体来说,我们在启动时仍遇到服务器错误。 重现的步骤是: 我们附上截图以供参考。 下一步 请在连接到IPv6networking(所有应用必须支持IPv6)的设备上运行您的应用,以确定问题,然后修改并重新提交您的应用以供审核。 如果我们误解了您的应用程序的预期行为,请在解决中心回复此消息,以提供有关这些function如何工作的信息。 对于新的应用程序,请从设备上卸载应用程序的所有先前版本,然后安装并按照步骤重现问题。 对于更新,安装新版本作为以前版本的更新,然后按照步骤重现问题。 资源 有关支持IPv6networking的信息,请参阅“支持IPv6 DNS64 / NAT64networking和关于networking” 如果您在重新报告问题时遇到困难,请尝试testing技术问答QA1764:如何重现针对App Store提交报告的错误中描述的工作stream程。 如果您在使用上述资源后遇到代码级问题,您可以咨询Apple开发者技术支持。 当DTS工程师跟进你时,请准备好提供: 你的拒绝问题的完整细节 截图 重现问题的步骤 符号化的崩溃日志 – 如果您的问题导致崩溃日志 我们期待着审查您修改的应用程序。 最好的祝福, app store评论

TinyIoC,Xamarin.iOS,链接器设置

我试图让TinyIoC在Xamarin.iOS上工作,但我没有太多的运气。 我的项目链接器设置设置为“仅链接SDK程序集”。 我真的在做这样简单的事情: public interface IPerson { int age { get; } } public class Person : IPerson { public int age { get { return 99; } } } 然后我的注册码看起来像这样(我刚刚把它放在我的AppDelegate中的一个玩具应用程序中): TinyIoCContainer.Current.Register<IPerson,Person>.AsMultiInstance(); 当我试图抓取一个IPerson时,我得到一个运行时exception,说IPerson无法parsing(这个代码是在玩具应用的AppDelegate中的注册码之后立即find的): IPerson person = TinyIoCContainer.Current.Resolve<IPerson>(); 这是错误: Unable to resolve type: TinyTest.IPerson 但是,如果将链接器设置更改为“不链接”,则一切正常。 但是,这显然是站不住脚的,因为这个二进制变得很庞大。 我试过在IPerson接口和Person类中放置[Preserve]属性,但是没有骰子。 我也尝试过只是手动声明一个IPersontypes的variables,并用一个新的Person()实例化它,然后抓取age属性,只是为了确保这个types包含在构build中,但是没有运气。 感觉就像我在这里失去了一些东西 – 有人能指出我在正确的方向吗? 谢谢!

iOS 7 – 隐藏子视图控制器上的状态栏

UIApplication.SharedApplication.SetStatusBarHidden (MonoTouch代码,也适用于Obj-C)完成iOS 6的工作,但对于iOS 7,我们必须: 在视图控制器上调用SetNeedsStatusBarAppearanceUpdate () (例如:显示全屏图像的视图控制器) 在同一视图控制器上覆盖PrefersStatusBarHidden () 。 然而,上面提到的视图控制器embedded在导航栏中,导航栏也embedded在滑出菜单中。 即使使用AddChildViewController()将所有embedded式视图控制器添加到层次结构中,尝试更新子视图控制器中的状态栏也不起作用。 有任何想法吗? 编辑 Window.RootViewController (Menu) |___ ViewControllerA (Navigation Bar) |___ ViewControllerB (Actual View controller) ViewControllerB想要隐藏/显示状态栏

标签栏控制器导航与MVVM光Xamarin

iOS标准的MVVM Light情节串联模式是 导航 – >视图控制器 – >其他视图 但我想使用一个标签栏控制器作为根视图,到这里没有人问题,但是当我想从该选项卡视图导航,在一个新的viewcontroller我失去了标签栏,视图加载像标准视图而不是像一个“标签”的看法。 我尝试创build下面的模式 TabBarController – >导航 – >视图 – >第二视图 但是mvvm light模式将导航控制器置于SimpleIoc中,我不能创build多次。 我如何设置故事板确保我在所有视图中都有导航和tabbar?

Xamarin.iOS UITableView,你如何强制一个单元格更新?

我正在使用Xamarin.iOS,并不知道如何更新单个单元格。 在WPF ListView中,我可以做一个绑定,并让单元格的属性做一个inotifypropertychanged,它自动通过绑定发生。 Xamarin.iOS中有一些等效的function吗? 更新UITableView单元格而不删除它们并重新添加它们似乎是非常麻烦的。 什么是更新个别单元格的最佳方法?

MonoTouch WIFI SSID

是否有可能使用Monotouch连接iPhone的连接WIFI SSID? 我发现有可能检查Wi-Fi状态,但是没有办法检查SSID。 https://github.com/xamarin/monotouch-samples/blob/master/ReachabilitySample/reachability.cs所以有没有人知道一种方式? 感谢所有评论

使用monotouch在ios中自动完成选项的自定义列表

我想能够提供我自己的可用自动正确/自动完成选项的列表中的文本input在单点触摸创build一个iOS应用程序。 单词列表通过networking服务更新。 Ebay应用程序在完成search时可以看到这种types的function的例子。 什么是实现这个目标的最好方法?

Xamarin:错误MT2002:无法parsing“System.Void System.Security.Cryptography.SHA1Cng ::。ctor()”

我在为iOS构buildXamarin解决scheme时遇到此错误。 我只启用了链接SDK程序集 。 奇怪的是,当我为模拟器构build它时,它工作得很好,但是当我为一个真实的设备构build它时会产生这个错误。 MTOUCH: error MT2002: Failed to resolve "System.Void System.Security.Cryptography.SHA1Cng::.ctor()" reference from "System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 没有在我的代码中我指的是System.Security.Cryptography。 当我禁用链接程序集 ,或启用链接所有程序集 ,但链接所有将导致Unity IoC失败,并禁用链接所有在一起导致应用程序的较大的文件大小。 我正在为目标OS 7.1(当我改变这一点时没有什么不同).NET版本4.5.2和Xamarin的所有更新安装。 更新: 我可以确认我的iOS项目是指System.Core版本2.0.5.0 请参阅下面的截图。 但是,我确实有一个被引用的PCL项目。 这能不能解决问题呢? 更新:原来有一个我参考的库,HashLib,我认为这是一个PCL,但实际上不是。 在HashLib中有一个对System.Core中的东西的调用,导致链接器失败。 我现在已经提取了我需要从HashLib中的function,并编译成一个单独的PCL项目,这已经解决了我的连接问题。

使用Xamarin从iPhone中的麦克风stream式传输audio

使用AudioQueue和Monotouch静态声音录制演示如何使用Xamarin.iOS通过iPhone的麦克风将audio传输到AudioQueue。 我的问题是:我如何保持麦克风连续录音? 我基本上只要打开应用程序就保持麦克风打开,并不断捕捉audiostream(注意,我不想将stream保存到文件)。 在长时间的while循环里面?