2012-05-03 33 views
5

Tôi có một lớp UITableView sử dụng các phương pháp sau để gọi lớp phủ tải khi chuyển sang màn hình tiếp theo. Vấn đề là màn hình tải này không cuộn với danh sách ... Vì vậy, nếu bạn cuộn một chút và nhấp vào một cái gì đó, màn hình tải không hiển thị (vì nó ở trên cùng). Làm thế nào tôi có thể nhận được màn hình tải để ở trên đầu trang của UITableView mọi lúc? Xin lưu ý rằng mỗi UITableView được chứa trong một UINavBar, được chứa trong một UITabBar. Đây là mã của tôi:Lớp phủ không cuộn với UITableView - iOS

-(void)createLoadScreen 
{ 
    CGRect screenRect = [self.view bounds]; 
    CGRect overlayFrame = CGRectMake(0.0, 0.0, screenRect.size.width, screenRect.size.height); 
    overlay = [[UIView alloc] initWithFrame:overlayFrame]; 
    overlay.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7]; 
    CGRect frame = CGRectMake(screenRect.size.width/2 - 25.0, screenRect.size.height/2 - 70, 25.0, 25.0); 
    loading = [[UIActivityIndicatorView alloc] initWithFrame:frame]; 
    [loading setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    [loading sizeToFit]; 
    loading.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | 
           UIViewAutoresizingFlexibleRightMargin | 
           UIViewAutoresizingFlexibleTopMargin | 
           UIViewAutoresizingFlexibleBottomMargin); 
    loading.hidesWhenStopped = YES; 
    [overlay addSubview:loading]; 
} 

-(void)showActivityIndicator 
{ 
    [self.view addSubview:overlay]; 
    [loading startAnimating]; 
} 

-(void)removeActivityIndicator { 
    [loading stopAnimating]; 
    [overlay removeFromSuperview]; 
} 

Trả lời

5

Bạn đang sử dụng UITableViewController?

Bạn sẽ có thể khắc phục vấn đề của mình bằng cách thêm chế độ xem lớp phủ vào giám sát của bảng thay vì chính chế độ xem bảng. Bằng cách này, lớp phủ của bạn thực sự ở trên và tách biệt với chế độ xem bảng cuộn của bạn

-(void)showActivityIndicator 
{ 
    [[self.view superview] addSubview:overlay]; 
    [loading startAnimating]; 
} 
+0

đẹp! cảm ơn người đàn ông ... –

+0

thực sự ... một cái gì đó sôi nổi đang xảy ra ngay bây giờ. các uiactivityindicator là di chuyển vị trí (chiều cao khôn ngoan). không chắc chắn lý do tại sao điều đó xảy ra nhưng dường như ngẫu nhiên là cao hơn và thấp hơn tùy thuộc vào ô bảng nào tôi nhấp vào. bất kỳ ý tưởng? –

+0

đây là sau khi tôi thêm nó vào superview của uitableview –

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