Представления портятся при очистке подпредставлений - PullRequest
1 голос
/ 27 июля 2011

Я довольно новичок, и я делаю простое многоцелевое приложение, в котором кнопки открывают новые представления.

РЕДАКТИРОВАТЬ: у меня возникла та же проблема, когда я сделал новое, более простое приложение, и я думаю,это связано с удалением подпредставлений.Я сделал еще одну простую версию приложения с двумя UIViewController s: MainViewController и SecondViewController.MainView имеет панель инструментов и красный фон, SecondView имеет светло-синий фон.Кнопка на панели инструментов удаляет все подпредставления со следующим кодом (и я думаю, что это проблема), а затем добавляет SecondView в качестве подпредставления.

for(UIView *view in self.view.subviews){
    [view removeFromSuperview];
}

При этом возникает аналогичная проблема смешивания(Увидеть ниже).Без этого кода подпредставление отображается правильно.Что происходит, и есть ли способ удалить все подпредставления, не вызывая их?Моя цель - иметь несколько кнопок, каждая из которых открывает новые представления (и закрывает все остальные представления).

Исходное сообщение:

От делегата приложения,У меня есть корень UIViewController appViewController, прикрепленный к пиру appView.Этот вид - только желтый фон и не предназначен для отображения.В appViewController я добавляю подпапку RootViewController при загрузке, которая управляет UIView с красным фоном и несколькими пронумерованными кнопками.Оба вида имеют -(BOOL) shouldAutorotateToInterfaceOrientation, написанные для принятия только альбомных ориентаций.

Однако, когда я запускаю приложение, вместо того, чтобы видеть красный фон RootView с кнопками, верхняя половина экрана красная, а нижняя половинажелтый с кнопками, как будто два UIViews как-то смешиваются.Далее кнопки не работают и даже не показывают синюю кнопку нажатыми графическими эффектами.Что происходит?

РЕДАКТИРОВАТЬ: По запросу: исходный код для RootViewController Следующее находится в appViewController:

- (void)viewDidLoad {
    rootViewController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:nil];
    [self.view addSubview:rootViewController.view];
    self.rootViewController.appViewController = self;
}

1 Ответ

0 голосов
/ 30 июля 2011

Снято в темноте, но, возможно:

[self configureView]

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