2011-09-14 32 views
6

Tôi có một UIView được gọi là geopointView. Tôi muốn tạo hiệu ứng động trong giao diện người dùng này trên khung nhìn chính khi nhấn nút (myButton). Nếu myButton được nhấn một lần nữa UIview nên trượt ra khỏi khung. myButton gọi phương pháp sau đây "optionsCalled"Hoạt ảnh UIView trượt trong nhưng không trượt bằng phương thức hoạt ảnh khối

-(void) optionsCalled 
{ 
if (![[self.view subviews] containsObject:geopointView] &&checkForGeopointViewAnimation ==0) { 

     [self.view addSubview:geopointView]; 
     geopointView.frame = CGRectMake(0,430,320,30); 
     [UIView animateWithDuration:0.3f 
         animations:^{ 
          geopointView.frame = CGRectMake(0, 350, 100, 80); 
         } 
         completion:^(BOOL finished){ 
          checkForGeopointViewAnimation = 1 ; 
         }]; 

    } 
    if ([[self.view subviews] containsObject:geopointView] && checkForGeopointViewAnimation ==1) 
    { 

     geopointView.frame = CGRectMake(0, 350, 100, 80); 
     [UIView animateWithDuration:0.3f 
         animations:^{ 
          geopointView.frame = CGRectMake(0,430,320,30); 
         } 
         completion:^(BOOL finished){ 
          checkForGeopointViewAnimation = 0 ; 
         }]; 

     [geopointView removeFromSuperview]; 

    } 

} 

đây checkForGeopointViewAnimation là một biến toàn cầu được xác định để đảm bảo trượt trong và ngoài không được gọi cùng một lúc.

Sự cố với mã này là các trang trình bày UIview hoạt động nhưng không hoạt động trượt ra ngoài. nó biến mất khỏi khung chính. Tôi có cần phải sử dụng bất kỳ lúc nào ở đây để có sự chậm trễ trong việc gọi và thêm chức năng UIview?

Nhờ sự giúp đỡ trước

Trả lời

5

Hãy thử [geopointView removeFromSuperview]; sau khi hoàn thành các hình ảnh động

+0

Cảm ơn bạn rất nhiều vì đã chỉ ra rằng .. – alekhine

+1

@amol_subhedar: Vui lòng bỏ phiếu cho tất cả các câu trả lời giúp bạn như một dấu hiệu đánh giá cao. – visakh7

4

Có lẽ bạn cần phải gọi [geopointView removeFromSuperview]; trong khối hoàn thành của bạn để thay thế?

+0

Cảm ơn câu trả lời của bạn .. – alekhine

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