Я добавляю пользовательскую кнопку CLEAR (UIBUTTON) в UIEXTField, в качестве правого просмотра, однако я обнаружил, что есть странное поведение на ViewMode. Похоже, это не отображается как нормальная кнопка Clear, несмотря на установку режима просмотра. Пример код ниже:
UITextField *f = [[[UITextField alloc] init] autorelease];
f.frame = CGRectMake(0, 0, 300, 44);
f.backgroundColor = [UIColor clearColor];
f.textColor = [UIColor whiteColor];
f.clearButtonMode = UITextFieldViewModeNever;
UIImage *image = [UIImage imageNamed:@"Image.png"];
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
b.frame = CGRectMake(0, 0, image.size.width, image.size.height);
[b setImage:image forState:UIControlStateNormal];
f.rightView = b;
f.rightViewMode = UITextFieldViewModeWhileEditing;
Кнопка отображает правильно в следующих состояниях:
, если текстовое поле уже имеет Содержание, и вы переключаетесь сосредоточиться на нем, чистая кнопка не показывает. Чтобы снова показать, вы должны удалить весь текст и переключить фокус взад и вперед.
Я не нашел кого-то еще с этой проблемой, поэтому царапая голову на этом некоторое время. Любой легкий провал очень ценится.