OGeek|极客世界-中国程序员成长平台

标题: ios - Firemonkey 原生 iOS 组件的限制 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:32
标题: ios - Firemonkey 原生 iOS 组件的限制

我对使用原生组件进行 iOS 开发的想法非常感兴趣,因此我正在测试当前可用的两个选项:TMS iCLD.P.F iOS Native Components .不幸的是,我发现它们都有局限性,使它们变得笨重或无法使用,尽管我仍然希望我只是忽略了一些东西,因此我在这里问。

我发现的局限:

这是我需要的简化版。我有 3 个表单,一个带有主菜单(作为按钮)的主表单和两个我想要滑入的表单。这是组件结构:

MainForm
  UINavigationController
    UIButtonA
    UIButtonB
  UIViewController1
    FMXwrapper that wraps Form3 (only in TMS iCL)

Form2
  UIViewController2
    UIButton2

Form3
  Various Firemonkey custom controls

使用 TMS iCL 实现:使用命令 UINavigationController.PushViewController(UIViewController1),FMXwrapper 可以在 Form3(具有 FMX 组件)中滑动。我也可以在 UIViewController2 中滑动,但是这个表单(UIButton2)上的组件没有显示出来,这似乎是因为它在另一个表单上。如果 TMS iCL 真的要求所有组件都在同一个表单上,那么它是没有用的,除非你制作非常小的应用程序,但也许有解决这个问题的方法?

使用 D.P.F. 实现:您实际上可以嵌入来自其他单元的表单,所以这里我可以在 Form2 中滑动,但它只会在这些表单上显示 DPF 组件。因此在 Form3 中滑动不会显示任何组件。是否有任何解决方案或变通方法可以使这项工作发挥作用?

对如何解决任一组件集中的限制有何建议?



Best Answer-推荐答案


在具有多个选项卡的 Form1 上使用 UITabBarController(而不是 Form2)。您可以在 native 控件的选项卡之间滑动。

要让 FMX Form3 滑入,您可以设置 TForm.Transparent := True;。然后使用Form3.Show;显示表格。在包含您的控件的 Form3 中有一个 TPanel/TRectangle。设置 TPanel.Position.X := 屏幕宽度;然后在 TForm.Show 之后动画从右侧滑入;

关于ios - Firemonkey 原生 iOS 组件的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736691/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4