首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextField - resignFirstResponder查询

UITextField - resignFirstResponder查询
EN

Stack Overflow用户
提问于 2011-08-02 16:53:09
回答 3查看 853关注 0票数 1

我有一个应用程序,它有几个UITextField,允许我的用户输入他们的年龄和另一个数字值。理想情况下,当编辑TextField时,我希望键盘调出数字小键盘。

在尝试使用数字键盘时,我尝试通过点击主视图的背景将其设置为关闭。

代码语言:javascript
复制
-(IBAction)backgroundTapped:(id)sender;

我在我的头文件中创建了上述操作。

代码语言:javascript
复制
-(IBAction)backgroundTapped:(id)sender {
    [ageEntry resignFirstResponder];
}

我在我的实现文件中扩展了上面的方法,告诉ageEntry TextField to resignFirstResponder。我还将主视图更改为UIControl类,并通过Interface Builder将buttonTapped操作连接到相关的警报。然而,当我触摸背景时,什么也没有发生。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-02 16:59:01

只需使用下面的方法检测viewController视图中的触摸

代码语言:javascript
复制
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [urAgeField resignFirstResponder];
    [urOtherField resignFirstResponder];
}

并在此方法中重新设计键盘

票数 1
EN

Stack Overflow用户

发布于 2011-08-02 16:59:42

一种更简单的方法是向文本字段添加一个inputAccessoryView。这个输入附件视图可以是一个带有单个Done按钮UITabBarButtonUIToolbar

它看起来更像是Safari中用来取消键盘的附件视图。

票数 1
EN

Stack Overflow用户

发布于 2011-08-02 16:58:06

我也遇到过类似的问题。这是the solution..

编辑的

添加

代码语言:javascript
复制
- (void)viewDidLoad 
{
        [super viewDidLoad];
         UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                    action:@selector(tap:)];
        tap.numberOfTapsRequired = 1;

        [self addGestureRecognizer:tap];


}

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
   [ageEntry resignFirstResponder];            
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6909488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档