Cla*_*fou 11 iphone uitextfield ios
在向a添加右视图后UITextField
,我发现它拒绝显示右视图和清除按钮(同时具有rightViewMode
和clearButtonMode
设置UITextFieldViewModeAlways
).我看到正确的视图,但不再显示清除按钮.我确保他们不会因重写clearButtonRectForBounds
而重叠,并且clearButtonRectForBounds
无济于事.如果我使用leftView而不是rightView,则不会出现此类问题,并且会显示左视图和清除按钮.
因此,虽然它似乎没有在文档中说明,但我认为清除按钮仅在未显示右视图时显示(并且当text属性不是空字符串时).这是正确的,有没有人有一个可靠的解决方法?与此同时,我相信我不得不创建一个UIView,在UITextField的顶部覆盖我的正确视图,以便获得我从UITextField单独获得的内容.
Sha*_*yaz 15
你不能同时显示两者,但你可以这样做
UITextField * textfield = [[UITextField alloc] initWithFrame:CGRectMake(10, 100, 300, 40)];
[textfield setBorderStyle:UITextBorderStyleRoundedRect];
UIImageView * imgvw = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"search.jpeg"]];
[imgvw setFrame:CGRectMake(0, 0, 30, 30)];
[textfield setRightView:imgvw];
[textfield setRightViewMode:UITextFieldViewModeUnlessEditing];
[textfield setClearButtonMode:UITextFieldViewModeWhileEditing];
[self.view addSubview:textfield];
Run Code Online (Sandbox Code Playgroud)
是的你是对的。UITextfield 具有左视图和右视图等属性。如果您使用清除按钮,它会与右视图重叠。
如果您的覆盖视图不与任何其他同级视图重叠,它将像任何其他视图一样接收触摸事件。如果您为视图指定一个控件,该控件将照常跟踪和发送操作。但是,如果覆盖视图与清除按钮重叠,则清除按钮始终优先接收事件。默认情况下,右侧覆盖视图确实与清除按钮重叠。
但正如它的名字所说,这是一种观点。因此,您可以创建自己的视图,其中有 2 个按钮,并设置文本字段的右视图。如果您愿意,您可以使用文本字段的委托方法来使按钮在视图中出现和消失。
归档时间: |
|
查看次数: |
10302 次 |
最近记录: |