self.view addSubview: проблема просмотра ..! - PullRequest
0 голосов
/ 14 июля 2010

новичок в приложениях для iPad здесь застрял в очень странном состоянии.

У меня есть одно приложение на основе просмотра. В представлении Viewcontroller я добавил две кнопки для рисования фигур. Один - это куб, а другой - пирамида. Формы нарисованы с кодом openGL. Обе фигуры имеют разные классы вида.

Теперь при нажатии на кнопки куба и пирамиды, соответственно, формы должны быть нарисованы в представлении viewController. Я успешно рисую форму куба, но не могу нарисовать форму пирамиды .. !!!

после попытки разных методов я пришел к выводу, что проблема заключается в «self.view addSubView: tempView». Этот код прекрасно работает с кнопкой куба, но не с пирамидой. Не могу точно решить точную проблему.

вот пример кода

кнопки:

cubeButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(600, -5, 50, 50)];
[cubeButton addTarget:self action:@selector(cubeClicked:) forControlEvents:UIControlEventTouchUpInside];
[cubeButton setBackgroundImage:[UIImage imageNamed:@"square_3D.png"] forState:UIControlStateNormal];

pyramidButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(700, -5, 50, 50)];
[pyramidButton addTarget:self action:@selector(piramidClicked:) forControlEvents:UIControlEventTouchUpInside];
[pyramidButton setBackgroundImage:[UIImage imageNamed:@"triangle_3D.png"] forState:UIControlStateNormal];

пример кода методов:

-(IBAction) cubeClicked:(id)sender {
    UIView *cubeView = [[CubeView alloc] initWithFrame:CGRectMake(250, 60, 500, 600)];
    [self.view addSubview:cubeView];
}

-(IBAction) piramidClicked:(id)sender {
    UIView *pyramidView = [[pyramidView alloc] initWithFrame:CGRectMake(250, 60, 500, 600)];
    [self.view pyramidView];
}

Заранее спасибо. Я ценю вашу помощь, ребята.

1 Ответ

0 голосов
/ 14 июля 2010

Это опечатка в вашей функции piramidClicked:?Если нет, это может быть проблемой:

-(IBAction)piramidClicked:(id)sender {
    UIView *pyramidView = [[PyramidView alloc] initWithFrame...];
    // this line probably causes a compiler warning ...
    // [self.view pyramidView];
    [self.view addSubview:pyramidView];
}

Если это опечатка, я бы проверил, правильно ли вы установили соединения в Интерфейсном Разработчике.Надеюсь, это поможет.

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