Поверните текст серым по кнопке "Редактировать"

109
13

У меня есть текст-заполнитель в текстовом поле (так называемый countTotalFieldUniversal), который я хочу изменить цвет, когда я нажимаю кнопку "Изменить".

В настоящее время мой код:

- (void)setEditing:(BOOL)flag animated:(BOOL)animated
{
NSLog(@"setEditing called");
[super setEditing:flag animated:animated];
if (flag == YES){
NSLog(@"Flag is yes");
[countTotalFieldUniversal setValue:[UIColor darkGrayColor]
forKeyPath:@"_placeholderLabel.textColor"];
NSLog(@"Color should be grey...");
}
else {
// Edit not selected
}
}

Моя консоль печатает, что "Флаг да" и "Цвет должен быть серым...", но текст не изменяется. Я устанавливаю текст неправильно?

спросил(а) 2021-01-25T15:30:46+03:00 4 месяца, 4 недели назад
1
Решение
64

Lakesh был в основном прав, мне нужно было перезагрузить Data.

Я изменил цвет текста, добавив логическую (editClicked) в мою функцию setEditing:

- (void)setEditing:(BOOL)flag animated:(BOOL)animated
{
NSLog(@"setEditing called");
[super setEditing:flag animated:animated];
if (flag == YES){
editClicked = true;
[tableView reloadData];
}
else {
editClicked = false;
}
}

В моей функции cellForRowAtIndexPath я добавил следующий оператор if:

//If editClicked is true, change text to grey
if (editClicked == true){
[countTotalFieldUniversal setValue:[UIColor darkGrayColor]
forKeyPath:@"_placeholderLabel.textColor"];
}
else {
// Save the changes if needed and change the views to noneditable.
[countTotalFieldUniversal setValue:[UIColor blackColor]
forKeyPath:@"_placeholderLabel.textColor"];
}

Спасибо всем (esp Lakesh и Kyle) за помощь!

ответил(а) 2021-01-25T15:30:46+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема