2013-03-09 4 views
1

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

-(void) DisableViews { 
    [Annimation removeFromSuperview]; 
    NSLog(@"scroll"); 
} 

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

Я думаю, что это произойдет, потому что представление с подвью не является настоящим представлением в настоящее время, поэтому я не могу удалить subview.

Есть ли возможность удалить подпункт с любого вида в подвью?

редактировать: ViewController.h

@interface ViewController : UIViewController { 

//... 

    UIView *Annimation; 



} 

@property (nonatomic,retain) UIView *Annimation; 

Реализация:

ViewController.m 

#import "ViewController.h" 
#import "AppDelegate.h" 




@implementation ViewController 

@synthesize Annimation; 


//... 

- (void) Bild1ButtonKlickt{ 
    Annimation = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)]; 
    Annimation.backgroundColor = [UIColor blackColor]; 
    [self.view addSubview:Annimation]; 
} 
+0

Что NSLog довольно бесполезно. Сделайте это 'NSLog (@" remove ℅ @ ", [Анимационное описание]);'. –

+0

мой NSLog только для того, чтобы узнать, называется ли эта функция – Pascal

+0

. Также следует указать, не является ли «Анимация» не нулевой. –

ответ

0

Как запрошено как ответ: Является ли это единственным subview в этом прокрутке? В любом случае, один ответов от how to remove subviews from scrollview?. Должно быть выполнено.

Теперь, какой ответ на вышеуказанной странице исправить?

+0

[[myScrollView viewWithTag: AnnimationTag] removeFromSuperview]; Я добавил тег в свой аннонимный просмотр, а затем он работает – Pascal

+0

@Pascal Хорошо, хорошо знать. –

1

Скорее всего "Annimation" (который я предполагаю, что это Ивар) является nil в данный момент, и так ничего не происходит когда вы пытаетесь удалить его.

(Как примечание, не получить доступ к Ивар непосредственно таким образом. Ваше имущество должно быть названо animationView (чтобы было ясно, что это мнение и не NSAnimation, и вы должны получить доступ к нему через self.animationView. Кроме того, методы должны всегда имеет ведущий строчный регистр. ObjC очень чувствителен к именованию методов и свойств. Собственные вопросы именования для среды выполнения, это не просто стилистика.)

+0

имя было только для тестирования, я переименую его позже. Но я не могу пользователь self.animationView, потому что свойство не было найдено – Pascal

Смежные вопросы