菜鸟教程小白 发表于 2022-12-13 13:54:15

IOS - 触摸 UIPickerView 时关闭键盘


                                            <p><p>我正在构建一个转换器应用程序。在主屏幕中,我有一个用于输入数字的文本字段,在文本字段下方有一个选择器 View ,允许用户选择转换参数(例如 kg 到 g)。</p>

<p>当用户点击背景时,我可以使用以下方法隐藏键盘</p>

<pre><code> (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
;
</code></pre>

<p>但是当我触摸选择器 View 时,键盘并没有隐藏。 </p>

<p>我的问题是当用户触摸选择器 View 时如何关闭键盘。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strong>找到解决方案</strong></p>

<p>1) 首先创建一个隐藏的圆形矩形按钮并将类型更改为自定义(适合选择器的大小)。</p>

<p>2) 创建内部 Action 的修饰</p>

<pre><code> - (IBAction)hiddenButtonToHideKeyboard:(id)sender {
    ;
}
</code></pre>

<p>3) 创建键盘出现通知</p>

<pre><code>[addObserver:self selector:@selector(onKeyboardAppear:) name:UIKeyboardWillShowNotification object:nil];
</code></pre>

<p>4) 创建键盘消失通知</p>

<pre><code> [addObserver:self selector:@selector(onKeyboardHide:) name:UIKeyboardWillHideNotification object:nil];
</code></pre>

<p>5) 当键盘出现时使按钮可见</p>

<pre><code> -(void)onKeyboardAppear:(NSNotification *)notification
{
    hiddenButtonToHideKeyboard.hidden=NO;
}
</code></pre>

<p>6) 键盘消失时隐藏按钮</p>

<pre><code>-(void)onKeyboardHide:(NSNotification *)notification
{
    hiddenButtonToHideKeyboard.hidden=YES;
}
</code></pre>

<p>5) 完成</p>

<p><em>我不认为这是一个完美的解决方案,但它对我有用:)</em></p></p>
                                   
                                                <p style="font-size: 20px;">关于IOS - 触摸 UIPickerView 时关闭键盘,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/10796657/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/10796657/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: IOS - 触摸 UIPickerView 时关闭键盘