是否可以使用leftView设置UITextField,这样如果用户点击UITextField键盘会显示,但是如果他们点击leftView中的图标,则会调用另一个方法(即显示UIPickerview的方法)?
答案 0 :(得分:20)
您是否检查过leftFieldViewMode设置为“从不
以外的其他内容”[textField setLeftViewMode:UITextFieldViewModeAlways];
答案 1 :(得分:8)
像普通人一样实例化按钮
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(0,0,30,30)];
[btn setTitle:@"title" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(BtnClick) forControlEvents:UIControlEventTouchUpInside];
像往常一样实例化文本字段
UITextField *txtfield1=[[UITextField alloc]initWithFrame:CGRectMake(10, 10,300,30)];
[txtfield1 setBackgroundColor:[UIColor grayColor]];
[txtfield1 setPlaceholder:@" Enter"];
在左侧设置视图(右侧视图也可用)
[txtfield1 setLeftView:btn];
如果您希望视图始终显示,那么下面的代码就可以了
[txtfield1 setLeftViewMode:UITextFieldViewModeAlways];
如果您希望视图显示从不
[txtfield1 setLeftViewMode:UITextFieldViewModeNever];
如果您希望视图显示文本字段是否未编辑,则在
下面[txtfield1 setLeftViewMode:UITextFieldViewModeUnlessEditing];
如果您希望视图显示文本字段是否已编辑,则
[txtfield1 setLeftViewMode:UITextFieldViewModeWhileEditing];
按钮点击事件并弹出
-(void)BtnClick
{
//Usual pop over coding goes here
}
答案 2 :(得分:2)
您是否尝试过使用UIButton执行此任务?从leftView属性的文档:
如果您的叠加视图不重叠 它收到的任何其他兄弟观点 像任何其他视图一样触摸事件。如果 你为视图指定一个控件, 控制跟踪并发送动作 照常。如果叠加视图重叠 然而,清晰的按钮清晰 按钮始终优先于 接收活动。
因此,创建一个UIButton实例,根据需要配置其外观和操作,然后将其设置为leftView属性。