Tôi đang viết một ứng dụng iOS và tôi phải hiển thị UIAlertView với một spinner. Đôi khi, xảy ra sự cố khi tôi cố thêm spinner vào giữa cảnh báo, thường là khi có cảnh báo khác trước cảnh báo này (không chính xác quy tắc, nhưng đây là cách tôi nhận thấy nó không thành công).UIActivityIndicatorView không hiển thị ngay trên UIAlertView
Tôi đã giải quyết một phần lỗi này bằng cách trì hoãn việc tạo bộ xoay tròn. Dưới đây là cách tôi làm điều đó (cảnh báo là thành viên UIAlertView):
Mã này là trong viewDidLoad:
alert = [[[UIAlertView alloc] initWithTitle:@"Loading..." message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles: nil] autorelease];
[alert show];
[self performSelector:@selector(addSpinner) withObject:nil afterDelay:0.5f];
Và đây là một trong addSpinner tôi chức năng:
- (void) addSpinner{
UIActivityIndicatorView *indicator2 = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator2.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height - 50);
[indicator2 startAnimating];
[alert addSubview:indicator2];
[indicator2 release];
}
Giải pháp này đang hoạt động mọi lúc, nhưng tôi thực sự không thích cách nó được thực hiện. Mặc dù cho thấy spinner nửa giây sau khi cảnh báo bật lên không phải là quá nhiều phiền nhiễu, phải có một cách tốt hơn để xử lý này. Tôi không phải là một chuyên gia trong iOS, tôi cũng không phải là một lập trình viên cao cấp, nhưng tôi không thể sử dụng một sự kiện? Một cái gì đó như "khi cảnh báo thực sự được hiển thị, hãy chuyển sang chức năng addSpinner"? Tôi không có ý tưởng làm thế nào để làm điều này, và không thể tìm thấy nhiều trợ giúp trên trang web ...
Hy vọng ai đó có thể giúp tôi! Cảm ơn.
Cảm ơn điều đó, có vẻ khá tốt, tôi có thể thử sử dụng nó. Tôi không thể đánh dấu câu trả lời của bạn là "câu trả lời được chấp nhận" của tôi, vì nó không thực sự giải quyết vấn đề :) – rdurand
không có vấn đề :) .. bạn chỉ có thể bỏ phiếu, nếu nó hữu ích :) – waheeda
Tôi đã thêm một số mã để giải quyết vấn đề của bạn, hy vọng nó sẽ giúp. – waheeda