ios – 向UITextField输入右视图UIImageView

我有一个目标操作,当按下按钮时,我验证UITextFields:
// Get the text from the UITextField
Nsstring *nameStr = _name.text;

_name.rightView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"error.png"]];
[self.view addSubview:_name];

if (nameStr.length == 0)
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Name"
                                                    message:@"You must enter a name."
                                               delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}

我的UITextFields添加到viewDidLoad中的视图,如下所示:

[self.view addSubview:_name];

如何使右视图UIImageView出现?

解决方法

你确定你没有丢失UITextField框架吗?你正在设置rightviewmode吗?

这是我刚才写的一个例子,似乎工作正常.

UITextField *rightField = [[UITextField alloc] initWithFrame:CGRectMake(0,140,50)];
rightField.backgroundColor = [UIColor redColor]; // For testing purpose
rightField.rightviewmode = UITextFieldviewmodeAlways;// Set rightview mode

UIImageView *rightimageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Tick_white_color"]];
rightField.rightView = rightimageView; // Set right view as image view

[self.view addSubview:rightField];

结果如下:

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...