Tôi đang tạo một UITableViewController (tại gốc của một UINavigationController) và trình bày phương thức này trên đầu trang của một bộ điều khiển khung nhìn khác. Tôi có nó hoạt động ở mức độ nào đó, như vậy khi khung nhìn tải và viewDidAppear được gọi, hiệu ứng hình ảnh có vẻ tốt. Nhưng ngay sau khi viewDidAppear, hiệu ứng hình ảnh biến mất và bảng nhìn có nền trắng.UIVisualEffectView trên nền UITableView
Trong UITableViewController giới của tôi, tôi đã thêm này trong viewDidLoad:
if (NSClassFromString(@"UIVisualEffectView") && !UIAccessibilityIsReduceTransparencyEnabled()) {
self.tableView.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:self.tableView.frame];
self.blurView = blurEffectView;
self.tableView.backgroundView = self.blurView;
}
Tôi cũng thực hiện điều này, để đảm bảo các tế bào có lý lịch rõ ràng:
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if (NSClassFromString(@"UIVisualEffectView")) {
cell.backgroundColor = [UIColor clearColor];
}
}
Tôi cũng thiết lập các cell.backgroundColor = [UIColor clearColor]
trong tableView's cellForRowAtIndexPath:
nhưng điều đó không giúp được gì.
Một lần nữa, tôi nhận được hiệu ứng chính xác khi khung nhìn tải, nhưng nó mất nền mờ ngay sau khi nó xuất hiện trên màn hình. Bất kỳ ý tưởng gì có thể sẽ sai? Tôi cũng đã cố gắng giữ lại blueEffectView như một thuộc tính trong bộ điều khiển xem của tôi, nhưng không có may mắn
bạn có giải pháp cho sự cố không? Tôi nghĩ rằng tôi có cùng một vấn đề. Sau khi thiết lập BackgroundView 'tableView.backgroundView' tôi có BackgroundView màu xám nhạt ** mà không có bất kỳ hiệu ứng làm mờ nào. – Stone
@Stone hi, tôi gặp vấn đề tương tự. Bạn có ý tưởng gì không? –
@Wongzigii tiếc là không. vẫn không có giải pháp. – Stone