菜鸟教程小白 发表于 2022-12-12 13:17:45

ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS


                                            <p><p>出于某种原因,我想知道如何通过 <strong>storyboard</strong> 和 <strong>以编程方式</strong> 在 Xamarin.iOS 中实现 <strong>Popup</strong>。 </p>

<hr/>

<p>目前,我正在做非常简单的解决方法:</p>

<p>在设计器内部,我正在删除其他 View (作为弹出窗口)并像这样进行配置<br/>
<code>MyPopupView.Hidden = true;</code> </p>

<p>经过一些步骤(nvm),我通过 </p> 显示此弹出窗口

<p><code>MyPopupView.Hidden = false;</code></p>

<p><strong>结果</strong>是:<br/>
<a href="/image/3KuAH.gif" rel="noreferrer noopener nofollow"><img src="/image/3KuAH.gif" alt="enter image description here"/></a> </p>

<p>是的,这是一种糟糕且非常糟糕的方法,因为如果需要这 5 个或更多人怎么办?<br/>
我将无法设计我的 <strong><em>ViewController</em></strong>,因为它会被这些 View 塞满。<br/>
另外,出于某种原因,我想显示 <strong>arrow</strong>(见下图)和 <strong>shadow</strong>(在弹出窗口之外)以获得更好的可用性。 </p>

<hr/>

<p>这正是我想要做的:<br/>
<a href="/image/KPHW3.png" rel="noreferrer noopener nofollow"><img src="/image/KPHW3.png" alt="enter image description here"/></a> </p>

<p>或这个(但在里面,我想放置例如我的 xib 或 VC,我可以在其中放置一些其他 View ,例如 .gif 动画):<br/>
<a href="/image/X8bO3.png" rel="noreferrer noopener nofollow"><img src="/image/X8bO3.png" alt="enter image description here"/></a> </p>

<p>或者这个:<br/>
<a href="/image/3HToi.png" rel="noreferrer noopener nofollow"><img src="/image/3HToi.png" alt="enter image description here"/></a> </p>

<p>最后,我想要什么(这个太棒了):<br/>
<a href="/image/B0zql.jpg" rel="noreferrer noopener nofollow"><img src="/image/B0zql.jpg" alt="enter image description here"/></a> </p>

<hr/>

<p>使用 Storyboard的主要思想(通过约束和自动布局使生活变得轻松),但也许它可以以编程方式完成。 </p>

<p>我认为使用 <strong>UIAlertController</strong> 可以做到这一点,只需要插入我们的 <strong>View</strong> ,但不知道这是正确的方法。 </p>

<p>感谢您的建议。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您发布的最后两张图片可以使用 Storyboard 完成。</p>

<p>基本上你要做的是在你的 Storyboard中创建一个单独的场景/ ViewController ,并将它的演示属性设置为<em>“over current context”</em>。
<a href="/image/tTzOn.png" rel="noreferrer noopener nofollow"><img src="/image/tTzOn.png" alt="enter image description here"/></a>
<a href="/image/Oxb43.png" rel="noreferrer noopener nofollow"><img src="/image/Oxb43.png" alt="enter image description here"/></a> </p>

<p>或者,您可以在 Xcode 中将 segue 设置为“以模式显示”,并将 segue 的表示属性设置为“over current context”</p>

<p> <a href="/image/pUqaU.png" rel="noreferrer noopener nofollow"><img src="/image/pUqaU.png" alt="enter image description here"/></a> </p>

<p>(由于某种原因,Xamarin Studio 中没有出现“Over current context”选项(至少在 Xamarin Studio 6 中没有),当您在 XS 中打开它时,它会显示“创建此条目时出错” "显示属性的消息,但它应该仍然有效)。</p>

<p>下一步是将 Root View 设置为透明(背景颜色 = <em>清除颜色</em>),然后有一个包含您的内容的 subview 。</p>

<p> <a href="/image/MTvTm.png" rel="noreferrer noopener nofollow"><img src="/image/MTvTm.png" alt="enter image description here"/></a> </p>

<p>如果您想要半透明叠加效果,那么您可以做的是有两个 <em>"sibling"</em>subview ,一个包含您的内容(与以前相同),另一个 View 受限于 Root View 的边缘,并将其 alpha 属性设置为小于 1 的值。</p>

<p> <a href="/image/RP12e.png" rel="noreferrer noopener nofollow"><img src="/image/RP12e.png" alt="enter image description here"/></a> </p>

<p> <a href="/image/h2rkH.png" rel="noreferrer noopener nofollow"><img src="/image/h2rkH.png" alt="enter image description here"/></a> </p>

<p>结果如下……</p>

<p> <a href="/image/Jp03C.gif" rel="noreferrer noopener nofollow"><img src="/image/Jp03C.gif" alt="enter image description here"/></a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/43215542/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/43215542/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS