Добавление и удаление UIView из трамплина

76
9

Я разрабатываю небольшую настройку MS, которая добавляет представление о Springboard. Я хочу, чтобы он постоянно обновлялся, поэтому я назвал его

- (void)showSpringBoardStatusBar

Затем я создаю и добавляю представление, используя это:

[[UIApplication sharedApplication].keyWindow addSubview:view1];

Правильно ли это?

Но проблема заключается в том, что этот вид использует низкий уровень альфа, чтобы быть прозрачным, и каждый раз, когда представление обновляется с помощью панели showSpringBoardstatus, в нее добавляется еще один UIView, который в итоге просто делает вид сплошным. Это также неэкономично с точки зрения памяти. поэтому я вернулся, добавил, что, как я думал, удалит код:

 view1 = nil;
[view1 removeFromSuperview];

Но похоже, что это не имеет никакого значения, поскольку оно все еще существует, и ничего не меняется. Я искал последние несколько дней, чтобы что-то помочь мне в этом, но ничего не получил. Все, о чем я могу думать, это то, что я не могу удалить добавленное подвью из ключевого окна, как я бы сделал из обычного представления, или просто не делаю это правильно.

Любая помощь будет оценена по достоинству. Спасибо.

спросил(а) 2021-01-19T17:22:46+03:00 2 месяца, 3 недели назад
1
1 ответ
-4

Установка вида1 в ноль и вызов "removeFromSuperView" может быть плохой идеей. Как насчет добавления представления только один раз, постоянно сохраняя ссылку и обновляя эту ссылку, не добавляя ее снова в keyWindow?

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

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