iOS中最佳实践是实施设置包,以便用户可以从iOS设置应用以及应用内访问您的应用设置。但是,这是iOS的独特概念。鉴于此,如果您想实现设置UI,您应该如何在Xamarin.Forms中执行此操作,以便获得iOS的设置包,并且仍然具有其他平台上可用的某种设置视图?
答案 0 :(得分:3)
使用此:https://github.com/jamesmontemagno/SettingsPlugin
它提供了一个用于处理设置的跨平台API。它会将您的设置存储在iOS上的plist中。
至于通过简单地引用plist来构建设置UI(就像iOS本身一样),这在Forms中并不是真的。在Forms中,您将使用Forms API实现自己的自定义设置页面。 Forms有一个TableView UI元素,您可以在其上设置Intent
属性。 Intent
可以设置为Data
,Form
,Menu
或Settings
。您可以使用Settings
值来指示您希望TableView类似于iOS设置屏幕。然后只需将每个TableView项绑定到您的设置类。
答案 1 :(得分:2)
由于Settings Bundle是一个非常适合iOS的功能,因此在iOS项目中实现它是唯一的方法。
然后我会创建一个ISettings界面来取回特定设置。在iOS中创建一个类来获取/设置此包中的设置并使用依赖注入。
然后为Android和WinPhone实现其他功能。您应该能够创建一个公共共享页面,但Set和Get方法将切换与每个平台相关。
答案 2 :(得分:1)
Forms提供了几种自定义每个平台行为的方法。您可以使用Device.OS或Device.OnPlatform()创建Windows和Android上存在的行为(即主菜单上的“设置”选项),但不在iOS上(而是让用户使用“设置”包) 。