2010-11-02 32 views
5

Giống như thanh tabbar, tôi muốn hiển thị huy hiệu trên UISegmentedControl. Vì tôi không thể thấy bất kỳ phương pháp được xác định trước nào cho UISegmentedControl giống như có sẵn cho UITabBar.UISegmentedControl có số hiệu

alt text

tôi nghĩ về cách thêm huy hiệu như một hình ảnh chỉ trên đầu trang của nó, nhưng có lẽ có một số cách tốt hơn.

Trả lời

12

Here là thư viện của bên thứ ba nhỏ mà tôi đã sử dụng để vẽ huy hiệu trên nhiều thứ khác nhau. Nó khá đẹp. Ví dụ: việc thay đổi màu của huy hiệu để phù hợp với thiết kế của tôi là không đáng kể.

Khi bạn mang lại cho lớp này vào dự án của bạn và đưa nó vào bộ điều khiển tầm nhìn của bạn, bạn đi:

CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"Badge 1"]; 

... và sau đó thêm customBadge1 như là một subview của bất cứ điều bạn đang huy hiệu.

+0

COOL thư viện của bên thứ 3 ... cảm ơn :) – Tariq

+0

Tôi đã tạo một lớp con UISegmentedControl sử dụng thư viện này và làm cho việc làm xấu thậm chí còn dễ dàng hơn - xem câu trả lời của tôi bên dưới. –

0

Không có thuộc tính hoặc phương thức huy hiệu - không giống như thanh tab. Nếu bạn muốn làm điều này bạn sẽ chỉ phải đặt một hình ảnh tùy chỉnh trên nó. Bạn có thể phân lớp kiểm soát phân đoạn và tạo một hàm thực hiện điều này cho bạn.

+0

Vâng tôi cũng nghĩ rằng điều này là có thể chỉ sử dụng hình ảnh tùy chỉnh. Cảm ơn bạn đã trả lời – Tariq

6

Tôi đã có vấn đề này ngày hôm nay, vì vậy tôi đã đặt cùng một lớp con UISegmentedControl cho phép bạn dễ dàng đặt số huy hiệu trên mỗi phân đoạn.

Sử dụng nó cũng dễ như:

[segmentedControl setBadgeNumber:1 forSegmentAtIndex:0]; 

Ảnh chụp màn hình, tài liệu và mã nguồn đang ở https://github.com/dave-thompson/MESegmentedControl.

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