首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >resignfirstresponder使我的ios应用程序崩溃

resignfirstresponder使我的ios应用程序崩溃
EN

Stack Overflow用户
提问于 2012-02-28 02:03:53
回答 3查看 1.5K关注 0票数 0

我是IOS新手,似乎不能让它工作,我的应用程序上有一个输入字段,每当用户按下return或相关按钮(searchGo)时,我都想隐藏键盘

以下是我的代码:

mainViewController.h

代码语言:javascript
运行
复制
 @interface kepnMainViewController : UIViewController <kepnFlipsideViewControllerDelegate, MKMapViewDelegate>
{
    MKMapView *_mapView;
    IBOutlet UITextField *searchBox;
    IBOutlet UIBarButtonItem *searchGo; 
    IBOutlet UIBarButtonItem *searchNearby;
    MKAnnotationView *annotationView;
}
@property (strong, nonatomic) MKMapView *_mapView;
@property (strong, nonatomic) MapAnnotation *annotation;
@property (strong, nonatomic) UIPopoverController *flipsidePopoverController;
@property (strong, nonatomic) MKAnnotationView *annotationView;
@property (strong, nonatomic) UIBarButtonItem *searchGo; 



- (IBAction)showInfo:(id)sender;
- (IBAction)searchGo:(id)sender;
- (IBAction)showNearby:(id)sender;
- (IBAction)searchBoxReturn:(id)sender;

- (void) setPlaceMarker: (CLLocationCoordinate2D) coord :(NSString*) title :(NSString*) subtitle; 
@end

适当的.m代码段

代码语言:javascript
运行
复制
-(IBAction)searchGo:(id)sender
{
    NSLog(@"sender object %@",sender); 


         [sender resignFirstResponder];


    NSLog(@"search button pressed and textbox = %@",searchBox.text); 


}



-(IBAction)searchBoxReturn:(id)sender
{
    NSLog(@"search box return "); 

    [sender resignFirstResponder];

}

抱歉,如果这是一个愚蠢的问题,但我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-28 02:13:13

UIBarButtonItem不是UIView,因此绝对不是UIResponder。相反,它是不响应- (void)resignFirstResponderNSObject的子类。

(解决方案:删除[sender resignFirstResponder];行)

票数 2
EN

Stack Overflow用户

发布于 2012-02-28 02:33:34

因此,如果您的视图是手动编程的,那么您可以在代码中添加以下检查:

代码语言:javascript
运行
复制
 if ( [sender isKindOf: [UIResponder class]] == YES && [(UIResponder*)sender canResignFirstResponder] == YES )
     [sender resignFirstResponder];
票数 1
EN

Stack Overflow用户

发布于 2012-02-28 02:21:44

如果你想隐藏按键上的按键,假设你的searchBox是当前的响应者,而不是你应该写的

代码语言:javascript
运行
复制
[searchBox resignFirstResponder]; // This will close keyboard
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9469874

复制
相关文章

相似问题

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