菜鸟教程小白 发表于 2022-12-12 12:32:29

ios - Firemonkey 原生 iOS 组件的限制


                                            <p><p>我对使用原生组件进行 iOS 开发的想法非常感兴趣,因此我正在测试当前可用的两个选项:<a href="http://www.tmssoftware.com/site/tmsicl.asp" rel="noreferrer noopener nofollow">TMS iCL</a>和 <a href="http://sourceforge.net/projects/dpfdelphiios/" rel="noreferrer noopener nofollow">D.P.F iOS Native Components</a> .不幸的是,我发现它们都有局限性,使它们变得笨重或无法使用,尽管我仍然希望我只是忽略了一些东西,因此我在这里问。</p>

<p>我发现的局限:</p>

<ul>
<li>TMS iCL:它要求整个应用程序中的所有原生组件都在同一个表单上!</li>
<li>D.P.F.:没有允许您将其与 FMX 表单/组件组合的 FMX 包装器。</li>
</ul>

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

<pre><code>MainForm
UINavigationController
    UIButtonA
    UIButtonB
UIViewController1
    FMXwrapper that wraps Form3 (only in TMS iCL)

Form2
UIViewController2
    UIButton2

Form3
Various Firemonkey custom controls
</code></pre>

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

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

<p>对如何解决任一组件集中的限制有何建议?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在具有多个选项卡的 Form1 上使用 UITabBarController(而不是 Form2)。您可以在 native 控件的选项卡之间滑动。</p>

<p>要让 FMX Form3 滑入,您可以设置 TForm.Transparent := True;。然后使用Form3.Show;显示表格。在包含您的控件的 Form3 中有一个 TPanel/TRectangle。设置 TPanel.Position.X := 屏幕宽度;然后在 TForm.Show 之后动画从右侧滑入;</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Firemonkey 原生 iOS 组件的限制,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26736691/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26736691/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Firemonkey 原生 iOS 组件的限制