Подтвердить что ты не робот

Отключить взаимодействие пользователя в представлении IOS

Я отключу и включив представление, используя следующий код....

[self.view setUserInteractionEnabled:NO];
[self.view setUserInteractionEnabled:YES];

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

4b9b3361

Ответ 1

Это точно то же самое, если предположить, что ваше другое представление является либо членом, либо вы можете выполнять итерацию через массив t20 > subviews, например:

MyViewController.h

UIView* otherView;

MyViewController.m

otherView.userInteractionEnabled = NO; // or YES, as you desire.

ИЛИ

for (int i = 0; i < [[self.view subviews] count]; i++)
{
    UIView* view = [[self.view subviews] objectAtIndex: i];

    // now either check the tag property of view or however else you know
    // it the one you want, and then change the userInteractionEnabled property.
}

Ответ 2

В swift UIView есть свойство userInteractionEnabled, чтобы сделать его отзывчивым или нет. Чтобы сделать полный просмотр, не используйте код:

// make screen unresponsive
self.view.userInteractionEnabled = false
//make navigation bar unresponsive
self.navigationController!.view.userInteractionEnabled = false

// make screen responsive
self.view.userInteractionEnabled = true
//make navigation bar responsive
self.navigationController!.view.userInteractionEnabled = true

Ответ 3

for (UIView* view in self.view.subviews) {

    if ([view isKindOfClass:[/*"which ever class u want eg UITextField "*/ class]])

        [view setUserInteractionEnabled:NO];

}

надеюсь, что это поможет. счастливое кодирование:)

Ответ 4

Лучшим вариантом является использование свойства Tag представления, а не повторение всех его подзонов. Просто установите тег на subView, который вы хотите отключить, и используйте ниже код для доступа к нему и отключите взаимодействие.

// considering 5000 is tag value set for subView 
// for which we want to disable user interaction  
UIView *subView = [self.view viewWithTag:5000]; 
[subView setUserInteractionEnabled:NO];