Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios中关闭自定义文本字段的键盘_Ios_Objective C - Fatal编程技术网

如何在ios中关闭自定义文本字段的键盘

如何在ios中关闭自定义文本字段的键盘,ios,objective-c,Ios,Objective C,我已经创建了uitextfield作为uiimageview的子视图&textfield和uiimageview都是scrollview的子视图。编辑文本字段时隐藏键盘的方法是什么。 这是我的密码,它不起作用 { img1=[[UIImageView alloc]initWithFrame:CGRectMake(0, 1, 320, 60)]; img1.userInteractionEnabled=YES; NSString *imgfilepath=[[NSBundle m

我已经创建了uitextfield作为uiimageview的子视图&textfield和uiimageview都是scrollview的子视图。编辑文本字段时隐藏键盘的方法是什么。 这是我的密码,它不起作用

{
   img1=[[UIImageView alloc]initWithFrame:CGRectMake(0, 1, 320, 60)];
   img1.userInteractionEnabled=YES;
   NSString *imgfilepath=[[NSBundle mainBundle]pathForResource:@"123" ofType:@"png"];
   UIImage *imo=[[UIImage alloc]initWithContentsOfFile:imgfilepath];
   [img1 setImage:imo];

   UILabel *label1;
   label1=[[UILabel alloc]init];
   label1.frame=CGRectMake(60, 0, 250, 30);
   label1.text=@"ENTER ANNUAL INCOME";
   label1.textColor=[UIColor blackColor];
   label1.font=[UIFont italicSystemFontOfSize:16.0f];

   label1.backgroundColor=[UIColor clearColor];
   [img1 addSubview:label1];


   principal = [[UITextField alloc] initWithFrame:CGRectMake(85,30, 156, 40)];
   principal.backgroundColor = [UIColor clearColor];
   principal.clearButtonMode = UITextFieldViewModeWhileEditing;
   principal.font = [UIFont systemFontOfSize:15.0f];
   principal.placeholder=@"ENTER";
   [principal setKeyboardType:UIKeyboardTypeNumberPad];
   //principal.textAlignment=UITextAlignmentCenter;

   [img1 addSubview:principal];

   [img1 respondsToSelector:[principal resignFirstResponder]];

   [scrollview addSubview:img1];
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

    [principal resignFirstResponder];

}

[img1 respondsToSelector:[principal RespondsFirstResponder]]

首先,
respondsToSelector
返回一个
BOOL
,用于确定是否可以调用选择器。这不是一种
void
方法,您似乎误解了这一点

其次,
UIImageView
不响应
resignFirstResponder

第三,您正在“传入”
void
respondsToSelector:
,这让我很惊讶

最终,您要做的是在
UITextField
上调用
resignFirstResponder
,这可以通过调用
[principal resignFirstResponder]
实现

但是,解除键盘的最简单方法之一是调用
[self.view endEditing:YES]
,这被描述为

使视图(或其中一个嵌入的文本字段)退出第一响应程序状态


[img1 respondsToSelector:[principal RespondsFirstResponder]]

首先,
respondsToSelector
返回一个
BOOL
,用于确定是否可以调用选择器。这不是一种
void
方法,您似乎误解了这一点

其次,
UIImageView
不响应
resignFirstResponder

第三,您正在“传入”
void
respondsToSelector:
,这让我很惊讶

最终,您要做的是在
UITextField
上调用
resignFirstResponder
,这可以通过调用
[principal resignFirstResponder]
实现

但是,解除键盘的最简单方法之一是调用
[self.view endEditing:YES]
,这被描述为

使视图(或其中一个嵌入的文本字段)退出第一响应程序状态


这些方法在哪一类?这些方法在哪一类?