Добавить UIStuff в UIView - PullRequest
       2

Добавить UIStuff в UIView

0 голосов
/ 27 октября 2010

Я хочу добавить свои кнопки в UIView, как тогда я могу скрыть или нет их.

Код моей кнопки:

    carte1J1=[UIButton buttonWithType:UIButtonTypeCustom];
     carte1J1.tag=11;
     carte1J1.frame=CGRectMake(60, 240, 50, 73.0);
     [carte1J1 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@",imagecarte1] ] forState:UIControlStateNormal] ;
     [carte1J1 addTarget:self action:@selector (clicCarte1J1)  forControlEvents:UIControlEventTouchUpInside];
        [self.view insertSubview:carte1J1 atIndex:1];

Мой вид - viewJoueur1, я пытаюсь добавить свою кнопку в вид следующим образом.

[viewJoueur1 addSubview:carte1J1];

А для проверки я пытаюсь скрыть viewJoueur1:

viewJoueur1.hidden=YES;

Но кнопка все еще видна, и я не понимаю, почему

Ответы [ 2 ]

0 голосов
/ 27 октября 2010

В первом разделе кода, который вы перечислили, у вас есть:

[self.view insertSubview:carte1J1 atIndex:1];

Во втором разделе у вас есть:

[viewJoueur1 addSubview:carte1J1];

Итак, вы добавили cartelJ1 в два представления, если я правильно понимаю.

Затем вы скрываете одно из этих двух представлений, но self.view все еще видно, и оно содержит cartelJ1, поэтому cartelJ1 все еще видно.

Пожалуйста, поправьте меня, если я неправильно понимаю ваш код ...

0 голосов
/ 27 октября 2010

Вы правы, это не документированное поведение:

Скрытие представления с подпредставлениями приводит к скрытию этих подпредставлений и любых потомков представления, которые они могут иметь.

Вы добавляете carte1J1 в качестве подпредставления viewJoueur1;viewJoueur1 простой UIView или пользовательский подкласс?Если это подкласс, вы переопределили -setHidden:?

Если это стандартный UIView, то это поведение не так задокументировано, и вы должны сообщить об этом как об ошибке .

Одна вещь, которую я заметил, это то, что при создании кнопки вы добавляете ее как подпредставление self.view, а затем добавляете ее как подпредставление viewJoueur1.Представления могут быть только подпредставлением одного представления за раз, поэтому первое является избыточным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...