Что я мог бы добавить к этому коду, чтобы он не удалял UIToolbar? - PullRequest
0 голосов
/ 01 сентября 2011
    NSArray *subviewsList = [[NSArray alloc] initWithArray:[self.view subviews]];
for (UIView *aView in subviewsList) { 
    NSLog(@"%@",subviewsList);
    if (![aView isEqual:sender]) {
        [aView removeFromSuperview]; 
    }
}
[subviewsList release];

Я не удаляю UIB-кнопку, которую вы нажимаете, чтобы фактически вызвать этот код, однако я не понял, как заставить его не удалять UIToolbar, который я добавил на экран через IB.Любые предложения?

РЕДАКТИРОВАТЬ: Я должен был быть более ясным, извините.Код был сделан, чтобы удалить тонну UIImageViews с экрана.Я не хотел, чтобы он убрал uibutton, который вызывает метод, или панель инструментов.

РЕДАКТИРОВАТЬ:

Это работает.:)

    if (![aView isEqual:sender] && ![aView isKindOfClass:[UIToolbar class]]) {

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011
If ([aView isKindOfClass:[UIToolBar class]]) {
    // the view is a uitoolbar
} else {
   [aView removeFromSuperView];
}

Отправка с iphone, возможно, синтаксические ошибки :), но это позволяет вам проверить, принадлежит ли ваше подпредставление определенному классу

Надеюсь, это поможет

0 голосов
/ 01 сентября 2011

Может произойти любое количество вещей.Является ли ваш UIToolbar подпредставлением или подуровнем одного из удаляемых aView?

Не зная, что все остальное происходит в ваших представлениях (в коде или в IB), трудно сказать, но также убедитесь, чтоесли вы добавляете какие-либо виды или слои, они ничего не скрывают.(Даже если что-то вроде UIButton является видимым, оно может не отвечать, если покрыто другим представлением.)

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