菜鸟教程小白 发表于 2022-12-13 08:25:26

ios - iPhone:如何将 inputAccessoryView 修复为 View?


                                            <p><p>我有一个工具栏,我需要在编辑文本时使用它,什么时候不需要。</p>

<p>在以前的应用中,我手动移动了工具栏(监听通知等)</p>

<p>但我想使用 <code>inputAccessoryView</code>...所以在我的 <code>viewDidLoad</code> 中,我这样做了</p>

<pre><code>for (/*myTextFields*/) {
   textField.inputAccessoryView = keyboardToolbar;
}
;
</code></pre>

<p>效果很好,工具栏出现,我点击一个文本字段,工具栏向上滑动 - 一切都很好。
但是当我随后隐藏键盘时,<code>inputAccessoryView</code> 将我的工具栏拖离屏幕。有没有办法告诉 <code>inputAcessoryView</code> 它的固定位置在哪里? - 还是我必须回到我以前的收听通知方式等...?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我通过监听通知并向上移动工具栏解决了这个问题......哦,好吧。</p>

<p>这样的事情可以完成:</p>

<pre><code>- (void)viewWillAppear:(BOOL)animated
{
    ;
    /* Listen for keyboard */
    [ addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [ addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)keyboardWillShow:(NSNotification *)notification
{
    ;
    /* Move the toolbar to above the keyboard */
    ;
    ;
    CGRect frame = self.keyboardToolbar.frame;
    frame.origin.y = self.view.frame.size.height - 210.0;
    self.keyboardToolbar.frame = frame;
    ;
}

- (void)keyboardWillHide:(NSNotification *)notification
{
    ;
    /* Move the toolbar back to bottom of the screen */
    ;
    ;
    CGRect frame = self.keyboardToolbar.frame;
    frame.origin.y = self.view.frame.size.height - frame.size.height;
    self.keyboardToolbar.frame = frame;
    ;
}
</code></pre>

<p>我猜输入附件 View 实际上只是用于卡在键盘顶部的东西:)</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iPhone:如何将 inputAccessoryView 修复为 View?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/6784171/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/6784171/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iPhone:如何将 inputAccessoryView 修复为 View?