2011-08-14 28 views
15

Giả sử tôi có chế độ xem ẩn trong Xcode dành cho iOS. Bây giờ, khi tôi đặt chế độ xem thành không ẩn (view.hidden = NO), làm thế nào tôi có thể tạo nó để nó hiện ra, nhưng với hình động?Cách ẩn chế độ xem với hoạt ảnh

+0

Ý bạn là gì, "wit h hình ảnh động "? –

+0

Bất kỳ hoạt ảnh nào, chẳng hạn như trượt vào hoặc mờ dần hoặc bất kỳ hoạt ảnh nào khác Chạm vào ca cao có thể cung cấp – Snowman

Trả lời

54

gì có thể bạn muốn không phải là để thiết lập view.hidden, nhưng để thiết view.alpha-0 (tương ứng với hidden = YES) hoặc 1 (hidden = NO).

Sau đó bạn có thể sử dụng hình ảnh động ngầm để hiển thị giao diện, ví dụ như

[UIView animateWithDuration:0.3 animations:^() { 
    view.alpha = 1.0; 
}]; 
+1

Nếu bạn phải làm điều này luôn với hoạt ảnh, bạn có thể ghi đè setHidden và isHidden :) –

5

Để giảm dần, bạn có thể điều chỉnh thuộc tính alpha của chế độ xem.

myView.alpha = 0; 
[UIView animateWithDuration:0.5 animations:^{ 
    myView.alpha = 1; 
}]; 

Điều đó sẽ áp dụng mờ dần trong hơn 0,5 giây cho chế độ xem myView. Nhiều thuộc tính UIView có thể hoạt hình; bạn không chỉ bị giới hạn bởi alpha mất dần. Bạn có thể thay đổi màu nền hoặc thậm chí xoay và chia tỷ lệ chế độ xem với hoạt ảnh. Nếu bạn cần điều khiển thêm và hoạt ảnh nâng cao, bạn có thể chuyển sang Core Animation - một khung hoạt ảnh phức tạp hơn nhiều.

1
-(void)showView{ 

    [UIView beginAnimations: @"Fade Out" context:nil]; 
    [UIView setAnimationDelay:0]; 
    [UIView setAnimationDuration:.5]; 
    //show your view with Fade animation lets say myView 
    [myView setHidden:FALSE]; 
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(hideView) userInfo:nil repeats:YES]; 

    [UIView commitAnimations]; 
} 


-(void)hideView{ 
    [UIView beginAnimations: @"Fade In" context:nil]; 
    [UIView setAnimationDelay:0]; 
    [UIView setAnimationDuration:.5]; 
    //hide your view with Fad animation 
    [myView setHidden:TRUE]; 
    [UIView commitAnimations]; 
} 

HOẶC bạn có thể thử cách

self.yourView.alpha = 0.0; 
[UIView beginAnimations:@"Fade-in" context:NULL]; 
[UIView setAnimationDuration:1.0]; 
self.yourView.alpha = 1.0; 
[UIView commitAnimations]; 
8

này Nếu bạn muốn hình ảnh động khác hơn là chỉ mờ dần sau đó sử dụng này phương thức

[UIView transitionWithView:_yourView duration:1.0 options:UIViewAnimationOptionTransitionCurlDown animations:^(void){ 

      [_yourView setHidden:NO]; 

     } completion:nil]; 
+0

Cảm ơn rất nhiều, hoạt động tuyệt vời :) – evya

+0

wow ... hoạt động như một say mê !!! cảm ơn bạn! –

Các vấn đề liên quan