首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextField leftView

UITextField leftView
EN

Stack Overflow用户
提问于 2010-01-04 10:57:42
回答 3查看 7.4K关注 0票数 8

是否可以设置一个带有leftView的UITextField,以便当用户单击UITextField时键盘显示,但如果用户单击leftView中的图标,则会调用另一个方法(即显示UIPickerview的方法)?

EN

回答 3

Stack Overflow用户

发布于 2012-07-11 19:10:39

您是否检查过leftFieldViewMode是否设置为其他值,而不是从不

代码语言:javascript
复制
[textField setLeftViewMode:UITextFieldViewModeAlways];
票数 20
EN

Stack Overflow用户

发布于 2013-08-01 17:04:21

像平常一样实例化一个按钮

代码语言:javascript
复制
 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];

像往常一样实例化文本字段

代码语言:javascript
复制
 UITextField *txtfield1=[[UITextField alloc]initWithFrame:CGRectMake(10, 10,300,30)];

[txtfield1 setBackgroundColor:[UIColor grayColor]];

[txtfield1 setPlaceholder:@" Enter"];

在左侧设置视图(也可以设置右侧视图)

代码语言:javascript
复制
[txtfield1 setLeftView:btn];

如果你想让视图始终显示,那么下面的代码就可以做到

代码语言:javascript
复制
[txtfield1 setLeftViewMode:UITextFieldViewModeAlways];

如果您希望视图永远不会显示,那么

代码语言:javascript
复制
[txtfield1 setLeftViewMode:UITextFieldViewModeNever];

如果您希望在未编辑文本字段的情况下显示视图,则在下面

代码语言:javascript
复制
[txtfield1 setLeftViewMode:UITextFieldViewModeUnlessEditing];

如果您希望在编辑文本字段时显示视图,则

代码语言:javascript
复制
[txtfield1 setLeftViewMode:UITextFieldViewModeWhileEditing];

按钮单击事件并弹出

代码语言:javascript
复制
-(void)BtnClick
{
  //Usual pop over coding goes here
}
票数 8
EN

Stack Overflow用户

发布于 2010-01-04 12:39:39

您是否尝试过使用UIButton执行此任务?来自leftView属性的文档:

如果您的覆盖视图不与任何其他同级视图重叠,则它会像任何其他视图一样接收触摸事件。如果为视图指定了一个控件,该控件将照常跟踪并发送操作。但是,如果覆盖视图与clear按钮重叠,则clear按钮始终优先接收事件。

因此,创建一个UIButton实例,根据需要配置其外观和操作,然后将其设置为leftView属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1997298

复制
相关文章

相似问题

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