Tôi có UIViewController
với màu nền tùy chỉnh. Trên đầu trang của nó có một UITableView
với UITableViewCells
là bán trong suốt (màu trắng với độ mờ 0,5).Nền nhấp nháy UITableViewCell trong suốt khi hoạt ảnh
Vấn đề tôi đổ lỗi và cái tôi đang đập đầu vào tường là trong iOS 7, khi bạn có UITableViewCell
với nền nửa trong suốt và bạn cố gắng xóa/chèn/di chuyển hàng (để dựa trên hiệu ứng hoạt ảnh) toàn bộ UITableView
với các ô của nó nhấp nháy chỉ trong 0,1 giây và đặt ô nền thành nền trong suốt hơn. Điều này rất khó chịu.
Điều duy nhất tôi đang làm là thiết lập màu nền của self.view
với:
self.view.backgroundColor = [UIColor colorWithRed:0.4 green:0.5 blue:0.7 alpha:1];
và thiết lập màu nền của các tế bào với:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
}
Dưới đây là một gif hiển thị cho bạn các vấn đề :
Và anh ấy re's the super simple project: https://github.com/socksz/TransparentCellFlashing
Hãy giúp tôi giải quyết vấn đề khó hiểu này! : P
màu nền của UITableView của bạn là gì? Nếu bạn đã thiết lập một, hãy thử thiết lập nó để "rõ ràng" (hoặc bất kỳ màu sắc của sự lựa chọn của bạn) trong xib/storyboard của bạn. Thông thường trong iOS7, nó được thiết lập để "mặc định", đó là nguyên nhân cho hầu hết các vấn đề này. –
Dường như nó không quan trọng. Tôi đã cố gắng thiết lập màu nền của 'self.view' (đó là chế độ xem bảng) thành' [UIColor clearColor] 'và cũng đã cố gắng nhúng chế độ xem bảng trong' UIView' (chế độ xem chính của trình điều khiển chế độ xem) và đặt màu nền của chế độ xem này để xóa. Không hoạt động. –
OK OK. Sau đó, bạn có thể cần phải ghi đè thuộc tính setSelected() của UITableViewCell của bạn bằng cách phân lớp nó. Hoặc ít nhất sử dụng thuộc tính backgroundView thay vì backgroundColor. –