2013-08-27 30 views
7

Tôi đã có một UIButton (nút quay lại ') ở góc trên bên trái của ứng dụng iPad loại bỏ trình điều khiển chế độ xem. Tôi đã phát hiện ra rằng nếu bạn chạm vào nút này hơi quá cao, bạn có thể kích hoạt cả hai nút và bắt đầu kéo xuống ngăn thông báo cùng một lúc. Khi điều này xảy ra, -viewWillDisappear của tôi được thực hiện và dừng hoạt ảnh trong chế độ xem, nhưng chế độ xem không thực sự loại bỏ. Tất nhiên, các cửa sổ thông báo không đi xuống tất cả các cách, do đó, kết quả net trông giống như hình ảnh động của tôi bị rơi, và rằng nút quay lại không thành công là tốt.Hành vi lạ với nút gần trung tâm thông báo bị kéo xuống trên iPad

Các giải pháp hiển nhiên sẽ là chỉ cần di chuyển các nút xuống một chút, nhưng vì đó là không mong muốn vì lý do bố trí, tôi tò mò nếu:

  1. Bất cứ ai đã từng nhìn thấy hành vi này trước đây.
  2. Nếu đó là hành vi được xác định rõ ràng và nếu có thì Apple mô tả nó ở đâu.
  3. Có bất kỳ công việc nào được biết đến không?

EDIT: thực sự trông giống như ít vấn đề hơn. Hóa ra đó là số -applicationWillResignActive của tôi được gọi, chứ không phải là -viewWillDisappear. Vẫn trông xấu, nhưng ít nhất là hành vi cũng được xác định. Tôi không kích hoạt nút trang chủ của mình chút nào, chỉ cần kéo xuống ngăn thông báo.

+0

Đó là khá kỳ lạ. ViewWillAppear cũng được gọi? – ffarquet

+0

Ah không, hãy xem chỉnh sửa. –

Trả lời

1

Tôi đã thực hiện UIViewController có hoạt ảnh theo thời gian (như quảng cáo biểu ngữ) đang diễn ra và việc kéo ngăn thông báo xuống không dừng cho đến khi ngăn được tiết lộ đầy đủ.

Có thể bạn phải xử lý hoạt ảnh của mình trên -applicationWillResignActive:-applicationDidBecomeActive:, như tạm dừng và tiếp tục chúng.

Bạn có thể nhận được những thông báo trực tiếp trên UIViewController của bạn (thay vì đối phó với họ về bạn appdelegate) bằng cách thêm đoạn mã sau vào -viewDidLoad của bạn:

// Add observers 
[[NSNotificationCenter defaultCenter]addObserver:self 
             selector:@selector(pauseAnimations:) 
              name: UIApplicationWillResignActiveNotification 
              object:nil]; 

[[NSNotificationCenter defaultCenter]addObserver:self 
             selector:@selector(resumeAnimations:) 
              name:UIApplicationDidBecomeActiveNotification 
              object:nil]; 
+0

Điều đó thực sự tò mò! Tôi sẽ tiếp tục nhìn vào nó. Điều này có vẻ giống như một vấn đề khá tinh tế, nó có thể là một cái gì đó đặc biệt cho các hình ảnh động tôi đang sử dụng (đó là mã đối tượng bên thứ 3, không may). –

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