菜鸟教程小白 发表于 2022-12-12 16:00:36

ios - 将 UITextField 键盘放在前面


                                            <p><p>我创建了一个自定义的 <code>UIAlertView</code>(从头开始,没有以任何方式子类化)类,效果很好,但是当警报有一个文本字段时我遇到了问题。在这种特殊情况下,当我点击电子邮件地址字段时,键盘会出现在我的弹出警报下方。调用此弹出窗口的 View 也有一个 <code>UITextField</code>(一个注释框)。我注意到只有在点击主视图文本字段(评论框)后点击弹出文本字段(电子邮件地址)时才会出现此问题。文本字段未使用相同的委托(delegate)。</p>

<p> <img src="/image/fj7VE.png" alt="enter image description here"/> </p>

<p>有没有办法将键盘强制放在 View 层次结构的前面?</p>

<p>更新:
将文本字段添加到弹出窗口的代码(这是我的警报类 <code>PopupDialog.m</code> 中的一个)</p>

<pre><code>self.textField = [ initWithFrame:CGRectMake(0, 0, 100, 34)];
_textField.font = ;
_textField.borderStyle = UITextBorderStyleRoundedRect;
_textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
_textField.backgroundColor = ;
_textField.delegate = self;
_textField.placeholder = @&#34;[email protected]&#34;;
</code></pre>

<p>它稍后被添加到按钮上方的弹出 View 中。半透明的黑色背景和弹出 View 最终通过以下方式添加到 View 层次结构中:</p>

<pre><code>[[[ windows] lastObject] addSubview:background];
[[[ windows] lastObject] addSubview:self];
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>因此,弹出窗口中的“电子邮件”<code>UITextField</code> 使用了与“评论”<code>UITextField</code>(弹出窗口下方)相同的键盘.我不得不移动这个键盘 View 后面的弹出窗口和半透明黑色背景。</p>

<pre><code>int count = [[ windows] count];
[[[ windows] objectAtIndex:count - 2] addSubview:background];
[[[ windows] objectAtIndex:count - 2] addSubview:self];
</code></pre>

<p><code>count - 1</code> 处的 View 是键盘 View 。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将 UITextField 键盘放在前面,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19578137/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19578137/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将 UITextField 键盘放在前面