Как я могу сказать, (видим) ли UIView впереди?

Я думаю, что вы ищете это свойство fullscreen (bool) или, в зависимости от потребностей, свойство max-width (Number) .

Устанавливая один из них, вы контролируете ширину v-диалога в зависимости от окружающего элемента. Ширина окружающего элемента может быть отрегулирована с помощью CSS, например, Flexbox.

8
задан Andrew Raphael 12 April 2009 в 14:59
поделиться

3 ответа

У UIView's не обязательно есть идея быть впереди. UIWindows может быть ключевым или нет, но это не совсем то же самое.

Вы можете перенести вид на спереди, но это не значит, что он есть или не виден. Помните, что представления могут быть любого размера.

UIView, скрытый глубоко в иерархии, может быть частично видимым, он может быть скрыт или может находиться за каким-то полупрозрачным представлением. Аналогично, вид спереди может вообще не быть видимым, если его значение непрозрачности или скрытые флаги изменены.

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

Подвиды рисуются с помощью метода художника. Виды отрисовываются в порядке от самого дальнего к ближайшему, а последний нарисованный объект - «фронт».

13
ответ дан 5 December 2019 в 07:13
поделиться

Единственный способ сделать это - назначить уникальный вид вашему представлению, используя [тег UIView], а затем использовать [UIView viewWithTag], чтобы вывести его на передний план. ,

Или вы можете найти нужный вам вид, используя тег, и поработать с ним ..

for (UIView *checkView in [self.view subviews] ) {
      if ([checkView tag] == whatever) {
      // Do Whatever you need to do
      }
}

.. затем вывести его на передний план.

Приветствия

0
ответ дан 5 December 2019 в 07:13
поделиться

Добавьте это для просмотра контроллера:

- (void)viewDidAppear:(BOOL)animated {
 [super viewDidAppear:animated];
 visible = YES;
}

- (void)viewWillDisappear:(BOOL)animated {
 visible = NO;
 [super viewWillDisappear:animated];
}

и отметьте 'visible' ivar

3
ответ дан 5 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: