2012-10-17 43 views
5

Làm cách nào để tùy chỉnh/thay đổi màu cho phân đoạn được chọn trong điều khiển được phân đoạn? Tôi đã cố gắng sử dụng phương pháp có sẵn tại UISegmentedControl selected segment color. Nó hoạt động hoàn hảo với iOS 5 trở xuống nhưng không dành cho iOS 6. Mọi trợ giúp đều được đánh giá cao.tùy chỉnh màu cho phân đoạn được chọn trong điều khiển phân đoạn

Về cơ bản, tôi đang tìm cách thay đổi màu cho đoạn được chọn thành một số màu sáng để phân đoạn đã chọn/không được chọn hiển thị rõ ràng.

Trả lời

3

Bạn có thể ghi đè lên lớp con của chế độ xem cụ thể đó rồi ghi đè phương thức drawRect() của nó cho giao diện tùy chỉnh của nó trên màn hình.

+0

Cảm ơn, nó đã hoạt động. – user1140780

4

Chúng tôi đã sử dụng phương pháp được đề cập bởi siddarth.

Phân lớp bộ điều khiển được phân đoạn và ghi đè phương thức drawrect(). Một cái gì đó như thế này:

- (void)drawRect:(CGRect)rect 
{ 
[super drawRect:rect]; 

for (int i=0; i<[self.subviews count]; i++) 
{ 
    if ([[self.subviews objectAtIndex:i]isSelected]) 
    { 
     UIColor *tintcolor=[UIColor redColor]; 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } else { 
     UIColor *tintcolor=[UIColor grayColor]; // default color 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } 
    } 

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