2015-07-08 1 views
1

Я хочу загрузить изображения, такие как gif. Он отлично работает, когда я перехожу на viewcontroller нажатием кнопки segue, но когда я перехожу на viewcontroller по modal segue, не загружайте изображения в imageview.Ошибка при загрузке изображений, таких как gif в uiimageview

_ivDummy.animationImages = [NSMutableArray arrayWithObjects: 
             [UIImage imageNamed:@"1.png"], 
             [UIImage imageNamed:@"2.png"], 
             [UIImage imageNamed:@"3.png"], 
             [UIImage imageNamed:@"4.png"], 
             [UIImage imageNamed:@"5.png"], 
             [UIImage imageNamed:@"6.png"], 
             [UIImage imageNamed:@"7.png"], 
             [UIImage imageNamed:@"8.png"], 
             nil]; 
    [_ivDummy setBackgroundColor:[UIColor redColor]]; 

    _ivDummy.animationDuration = 1.0f; 
    _ivDummy.animationRepeatCount = INFINITY; 
    [_ivDummy startAnimating]; 

Пожалуйста, помогите мне.

В процессе Худ

[indicator removeFromSuperview]; 
     UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 45.0f, 45.0f)]; 
     animatedImageView.animationImages = [NSMutableArray arrayWithObjects: 
               [UIImage imageNamed:@"1.png"], 
               [UIImage imageNamed:@"2.png"], 
               [UIImage imageNamed:@"3.png"], 
               [UIImage imageNamed:@"4.png"], 
               [UIImage imageNamed:@"5.png"], 
               [UIImage imageNamed:@"6.png"], 
               [UIImage imageNamed:@"7.png"], 
               [UIImage imageNamed:@"8.png"], 
               nil]; 
     //[animatedImageView setBackgroundColor:[UIColor redColor]]; 

     animatedImageView.animationDuration = 1.0f; 
     animatedImageView.animationRepeatCount = INFINITY; 
     [animatedImageView startAnimating]; 
     indicator=animatedImageView; 
     [self addSubview:indicator]; 
+0

Куда вы записали этот код, в viewDidLoad? – Mrunal

+0

@Mrunal yes in viewDidLoad –

+0

Вот в чем проблема: она должна быть в viewWillAppear или в viewDidAppear. Поскольку до тех пор, ваши UIObjects не были инициализированы должным образом. Таким образом, ваша _ivDummy неизвестна для бегуна кода. – Mrunal

ответ

0

Вместо использования
- (Недействительными) метод viewDidLoad попробуйте использовать
- (Недействительными) viewWillAppear: (BOOL) анимированные

-(void)viewWillAppear:(BOOL)animated 
{ 
    _ivDummy.animationImages = [NSMutableArray arrayWithObjects: 
           [UIImage imageNamed:@"1.png"], 
           [UIImage imageNamed:@"2.png"], 
           [UIImage imageNamed:@"3.png"], 
           [UIImage imageNamed:@"4.png"], 
           [UIImage imageNamed:@"5.png"], 
           [UIImage imageNamed:@"6.png"], 
           [UIImage imageNamed:@"7.png"], 
           [UIImage imageNamed:@"8.png"], 
           nil]; 
    [_ivDummy setBackgroundColor:[UIColor redColor]]; 
    _ivDummy.animationDuration = 1.0f; 
    _ivDummy.animationRepeatCount = INFINITY; 
    [_ivDummy startAnimating]; 
} 

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

+0

Thanx. Он работает полностью, но я пишу код для загрузчика, например, MBprogresshud, не работая над ним. –

+0

Вы можете попробовать это https://www.cocoacontrols.com/controls/mbprogresshud –

+0

У меня есть mbprogesshud, но я не хочу его использовать. Я пошел, чтобы спроектировать свой собственный progesshud. –