Как удалить вложение фрейма

#objective-c #cocoa-touch #ipad

#objective-c #cocoa-touch #iPad

Вопрос:

 if (isGameOne == TRUE and isGameTwo == FALSE){
        x.view.frame = xGraph->theGraph.frame;
        y.view.frame = yGraph->theGraph.frame;
    } else {
        /*remove above frame here*/

    }
  

Выше приведен мой сценарий, с которым я работаю. Когда isGameOne значение true, я хочу, чтобы оно было присоединено x.view.frame к xGraph->theGraph.frame; и то же самое для ‘y’, но это работает нормально.

У меня возникла проблема с пониманием того, как я бы удалил x.view.frame фрейм, если isGameOne значение не равно true (false). Я уверен, что это, вероятно, действительно легко сделать, но я все еще пачкаю руки objective-c. Извините за мое невежество

Приветствия

=========[ Как это сделать ] =========

На самом деле у меня есть кнопка, которая завершает игру, поэтому внутри gameOne метода у меня есть

 if (isGameOne == TRUE and isGameTwo == FALSE){
        x.view.frame = xGraph->theGraph.frame;
        y.view.frame = yGraph->theGraph.frame;

}
  

внутри моего quit метода кнопок я добавил:

 isGameTwo = TRUE;
isGameOne = FALSE;
if (isGameOne == FALSE and isGameTwo == TRUE) {
    /* code to remove *DoodlePad from *Grap */
    [xDoodlePad.view setHidden:YES];
    [yDoodlePad.view setHidden:YES];

}
  

Ответ №1:

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

Если вы хотите скрыть / показать представления на основе этого условия, у вас уже должны быть соответствующие фреймы, установленные перед условным значением, и просто вызовите setHidden для представлений с соответствующим аргументом.

Обратите внимание, что CGRects являются структурами, поэтому происходит присвоение самого значения. Вы не поддерживаете ссылку на другой фрейм.

Комментарии:

1. y.view.frame появляется только тогда, когда он находится в игре. это бесполезно, если его нет в игре one. тогда я прочитаю документы по setHidden. Спасибо

2. Спасибо, что научили меня isHidden , это сработало как шарм.