2011-08-29 40 views
10

Tôi đã tạo một UITableView với tùy chỉnh một TableCell, thường theo hướng dẫn này;UITableView - Tô sáng ô đã chọn [iOS]

http://www.theappcodeblog.com/?p=353

Tôi đã tùy chỉnh nó cho nhu cầu của tôi và nó trông tuyệt vời. Tuy nhiên, khi tôi chọn một hàng, nó sẽ làm nổi bật hàng đó bằng cách thay đổi toàn bộ màu xanh. Điểm nổi bật này bao gồm toàn bộ ô và ghi đè nội dung, tạo hiệu ứng hộp lớn màu xanh trông khó chịu. Tôi đã thử các tùy chọn đánh dấu thay thế của

Rõ ràng nếu được chọn là màu xám, hành vi tương tự sẽ xảy ra nhưng với hộp màu xám xấu xí. 'Không' là tùy chọn mong muốn vào phút, nhưng không cung cấp trải nghiệm tốt cho người dùng của tôi vì tôi muốn đưa ra một số dấu hiệu cho thấy họ đã chọn hàng đó.

Có ai có thể đề xuất một cách để hiển thị rằng hàng được highligted, nhưng vẫn hiển thị văn bản bên dưới? Bán opacity?

Cảm ơn

Trả lời

11

Có lẽ đó là vì mẫu mã của bạn được thiết lập:

artistLabel.highlightedTextColor = [UIColor clearColor];.

Điều này sẽ làm cho màu văn bản của nghệ sĩ trở nên trong suốt khi được tô sáng.

Trong số nguyên nhân bạn có thể thiết lập màu sắc của riêng bạn để sở hữu highlightedTextColor nhãn của bạn, ví dụ:

[UIColor whiteColor]

+0

Tôi Thật là một thằng ngốc tuyệt đối, cảm ơn bạn. Câu trả lời đơn giản, hoạt động hoàn hảo. Cảm ơn –

+1

Bạn được chào đón. Nếu bạn nghĩ câu trả lời này hữu ích, việc bỏ phiếu và chọn nó là câu trả lời đúng sẽ rất được đánh giá cao. – xuzhe

+0

Tôi luôn làm. Tôi có 100% fore rất câu hỏi tôi hỏi. Cảm ơn một lần nữa. –

4

u có thể sử dụng ur xem tùy biến riêng để lựa chọn

đây tôi có xem màu xanh Giống như u này có thể thay đổi bất cứ điều gì u tùy chỉnh muốn trên đó.

if (cell == nil) { 

    cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero 
            reuseIdentifier: CellIdentifier] autorelease]; 


    UIView *selectionView = [[UIView alloc]initWithFrame:cell.bounds]; 

    [selectionView setBackgroundColor:[UIColor greenColor]]; 

    cell.selectedBackgroundView = selectionView; 


    [selectionView release]; 

} 
8

UITableView di động được lựa chọn màu

Thưởng thức ...

// Image 
UIImage *selectionBackground = [UIImage imageNamed:@"g7.png"]; 
UIImageView *bgview=[[UIImageView alloc] initWithImage:selectionBackground]; 
cell.selectedBackgroundView=bgview; 
[bgview release]; 

hoặc

// Color 
UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor brownColor]]; 
[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 
+0

Tuyệt. Màu sắc hoạt động trong iOS 7. – Tom

+0

Tôi cũng khuyên bạn nên gọi [cell setSelectionStyle: UITableViewCellSelectionStyleNone] để ngăn chặn ô từ hình chữ nhật màu trắng trên nó khi nó được chọn. –

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