2013-01-09 22 views
7

Tôi phải cung cấp cho một hình ảnh động xóa hình thu nhỏ trong ứng dụng ipad của tôi giống như các ứng dụng iphone/ipad xóa hiệu lực. Bất kỳ cơ thể giúp tôi xin mẫu ảnh được gắn enter image description hereLàm thế nào để thêm hiệu ứng xóa như ứng dụng iphone?

Nếu bạn cần biết thêm chi tiết thì vui lòng đề cập đến nó trong ý kiến ​​

Trả lời

7

Tôi đã làm điều này bằng CGAffineTransformMakeRotation. Không biết có một số phương pháp tốt hơn khác. Nhưng những gì tôi đã làm là logic của tôi, bạn có thể sao chép nó như nó là và bạn chỉ cần thêm một nút xóa ở phía trên bên trái của khung nhìn đó. Trong đoạn mã sau tôi chỉ làm động hình thu nhỏ hoặc bất kỳ khung nhìn nào giống như iPad trên màn hình chủ của nó. Một điều, Bạn cần khai báo hướng int trên toàn cầu. và mỗi khi bạn gọi phương thức này, bạn sẽ đặt hướng = 1;

-(void)shakeToDelete:(UIView *)shakeMe 
{ 

    [UIView animateWithDuration:0.1 animations:^ 
    { 
     shakeMe.transform = CGAffineTransformMakeRotation(0.05 * direction); 
    } 
        completion:^(BOOL finished) 
    { 

     direction = direction * -1; 
     [self shakeToDelete:shakeMe]; 
    }]; 
} 

/// chỉnh sửa tôi đã cố gắng theo cách này và đã nhận nó làm việc trong màn hình mẫu của tôi như đính kèm trong ảnh enter image description here

+1

Cảm ơn bạn @Umair tôi nhận nó làm việc một cách hoàn hảo và dễ dàng. Nó hoạt động tuyệt vời – Mashhadi

+0

Nếu chúng ta phải animate tất cả các nút sau đó chúng ta nên vượt qua nó tất cả các nút trong một mảng và nó sẽ làm việc cho tất cả các nút trên xem đó. Điều này là tuyệt vời – Mashhadi

+0

@Mashhadi hi bạn bè u có thể giúp để tạo ra hoạt hình này tôi không rõ làm thế nào để cung cấp cho tất cả các hoạt hình trên nút hình thu nhỏ nút của tôi tạo ra theo giá trị hình ảnh mảng và hiển thị trên scrollview -thank – Rocky

0

Bạn tốt hơn nên sử dụng một autoreverse và looped hoạt hình, nguyên nhân tạo ra hình ảnh động lặp đi lặp sẽ hoàn thành bộ nhớ điện thoại.

Với mã này, chỉ một hoạt ảnh được giữ lại.

view.transform = CGAffineTransformMakeRotation(-kDeleteAnimationAmplitude); 

[UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse animations:^{ 
    view.transform = CGAffineTransformMakeRotation(kDeleteAnimationAmplitude); 
} completion:nil]; 

Sau đó, nếu bạn muốn dừng hoạt hình của bạn, chỉ cần gọi:

[view.layer removeAllAnimations]; 
Các vấn đề liên quan