Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to add clear button UITextfield?
    text
    copied!<p>I would like to add a clear button inside a UITextfield but it doesn't show up.</p> <p>This the code for the UITextfield:</p> <pre><code> @implementation databaseEnterDataViewController @synthesize customer = customer_ ; @synthesize type = type_ ; @synthesize code1 = code1_ ; @synthesize code2 = code2_ ; @synthesize background, changeType, codeOne, codeTwo, customers, suspendDisplayInfo, tf; #pragma mark - #pragma mark Initialization #pragma mark - #pragma mark View lifecycle - (void)viewDidLoad { [super viewDidLoad]; self.customer = @"" ; self.type = @"" ; self.code1 = @"" ; self.code2 = @"" ; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Save" style:UIBarButtonSystemItemCancel target:self action:nil]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:nil]; self.navigationItem.title = @"Enter Data"; code1Field_.clearButtonMode = UITextFieldViewModeWhileEditing; code2Field_.clearButtonMode = UITextFieldViewModeUnlessEditing; customerField_.clearButtonMode = UITextFieldViewModeAlways; [self openDB]; [self createTable:@"barcodeScan" withField1:@"key" withField2:@"scanDate" withField3:@"theCustomer" withField4:@"type" withField5:@"theCode1" withField6:@"theCode2" withField7:@"discription" withField8:@"articleNr" withField9:@"batchNr" withField10:@"serialNr" withField11:@"expDate"]; self.suspendDisplayInfo=false; NSLog(@"%@",typeLabel_.text); #ifdef LOG_FILE NSFileManager *fileManger = [NSFileManager defaultManager]; if ([fileManger fileExistsAtPath:[self getLogFile]]) { [debug appendString:[[NSString alloc] initWithContentsOfFile:[self getLogFile]]]; [debugText setText:debug]; } #endif dtdev=[Linea sharedDevice]; [dtdev addDelegate:self]; [dtdev connect]; types = [[NSMutableArray alloc] init]; [types addObject:@"Select barcode type"]; [types addObject:@"Intervascular"]; [types addObject:@"CID"]; [types addObject:@"MAQUET"]; [self pickerview]; tf.clearButtonMode =UITextFieldViewModeAlways; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. return 4; } // Customize the appearance of table view cells. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; // Make cell unselectable cell.selectionStyle = UITableViewCellSelectionStyleNone; tf = nil; tf.clearButtonMode =UITextFieldViewModeAlways; changeType = [UIButton buttonWithType:UIButtonTypeRoundedRect]; changeType.frame = CGRectMake(cell.frame.origin.x + 220, cell.frame.origin.y + 7, 80, 30); [changeType setTitle:@"Change type" forState:UIControlStateNormal]; changeType.backgroundColor= [UIColor clearColor]; [changeType.titleLabel setFont:[UIFont systemFontOfSize:14]]; [changeType addTarget:self action:@selector(clickeButton:) forControlEvents:UIControlEventTouchDown]; switch ( indexPath.row ) { case 0: { cell.textLabel.text = @"Customer:" ; tf = customerField_ = [self makeTextField:self.customer placeholder:@"Customer name"]; [cell addSubview:customerField_]; break ; } case 1: { cell.textLabel.text = @"Type:" ; tf = typeLabel_ = [self makeTextField:self.type placeholder:@"Type code"]; [cell addSubview:typeLabel_]; [cell addSubview:changeType]; break ; } case 2: { cell.textLabel.text = @"Code 1:" ; tf = code1Field_ = [self makeTextField:self.code1 placeholder:@"Code 1"]; [cell addSubview:code1Field_]; break ; } case 3: { cell.textLabel.text = @"Code 2:" ; tf = code2Field_ = [self makeTextField:self.code2 placeholder:@"code 2"]; [cell addSubview:code2Field_]; break ; } } // Textfield dimensions tf.frame = CGRectMake(120, 12, 170, 30); // Workaround to dismiss keyboard when Done/Return is tapped [tf addTarget:self action:@selector(textFieldFinished:) forControlEvents:UIControlEventEditingDidEndOnExit]; // We want to handle textFieldDidEndEditing tf.delegate = self ; return cell; } -(UITextField*) makeTextField: (NSString*)text placeholder: (NSString*)placeholder { UITextField*tf = [[UITextField alloc] init]; tf.placeholder = placeholder ; tf.text = text ; tf.autocorrectionType = UITextAutocorrectionTypeNo ; tf.autocapitalizationType = UITextAutocapitalizationTypeNone; tf.adjustsFontSizeToFitWidth = YES; tf.textColor = [UIColor colorWithRed:56.0f/255.0f green:84.0f/255.0f blue:135.0f/255.0f alpha:1.0f]; return tf ; } // Workaround to hide keyboard when Done is tapped - (IBAction)textFieldFinished:(id)sender { // [sender resignFirstResponder]; } // Textfield value changed, store the new value. - (void)textFieldDidEndEditing:(UITextField *)textField { if ( textField == customerField_ ) { self.customer = textField.text ; } else if ( textField == typeLabel_ ) { self.type = textField.text ; } else if ( textField == code1Field_ ) { self.code1 = textField.text ; } else if ( textField == code2Field_ ) { self.code2 = textField.text ; } } </code></pre> <p>On the iphone it looks like this:</p> <p><img src="https://i.stack.imgur.com/E0bNF.png" alt="enter image description here"></p> <p>When I add the clear button like this </p> <p><code>customerField_.clearButtonMode = UITextFieldViewModeWhileEditing;</code></p> <p>the button doesn't show up.</p> <p>What should I do to make it visible?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload