菜鸟教程小白 发表于 2022-12-11 20:48:31

ios创建然后动态添加UI元素


                                            <p><p>我不知道这是否可能,但听起来应该是这样。</p>

<p>我想要做的是,在 Interface Builder 中创建 UIViews(或不确定如何工作的 UIViewControllers)说...其中 10 个,并根据用户的选择使用它们。 </p>

<p>例如,在状态 A 中,我想向他展示小部件 1,2 和 3;
在状态 B 小部件 3,5 和 7 等。</p>

<p>编辑:我所说的状态是指根据用户在前面的步骤中选择的内容,它们都导致相同的 UIViewController 但它应该根据上述“状态”以不同的方式呈现自己。现在我不能为每个不同的组合创建不同的 UIViewController :)</p>

<p>还必须能够将它们定位在父 View 中。</p>

<p>有什么建议吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>好的,所以在回答你的评论时,你确实可以做你想做的事。为您的自定义 View 创建一个单独的 nib 文件,例如 MyView.xib,并使文件所有者的类成为您的 ViewController 类。</p>

<p>然后在您的 ViewController 中,为自定义 View 创建一个 <code>IBOutlet</code> 属性:</p>

<pre><code>@property (nonatomic, assign) IBOutlet MyView * myView;
</code></pre>

<p>在 nib 文件中,将 ViewController 的 <code>myView</code> 导出连接到顶层 View 。</p>

<p>然后在代码中加载 View ,你需要做的就是:</p>

<pre><code>[ )loadNibNamed: @&#34;MyView&#34; owner: self options: nil];
</code></pre>

<p>然后 nib 将被加载,并分配给 <code>myView</code>。然后您可以将其添加为 subview 。</p>

<p>要使其与另一个 ViewController 一起工作,只需确保它具有相同的命名 socket ,进行 <code>loadNibNamed:</code> 调用,它就会正常工作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios创建然后动态添加UI元素,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8616053/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8616053/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios创建然后动态添加UI元素