2008-10-24 29 views
57

Trong các ứng dụng iPhone của Apple (như Danh bạ), chúng có biểu tượng kính lúp đẹp ở đầu chỉ mục xem bảng. Vì API chỉ mục xem bảng dựa trên ký tự, tôi giả định rằng kính lúp này là một ký tự Unicode. Cho đến nay tôi đã sử dụng để đặt một ký tự dấu chấm hỏi ở đó, nhưng trông có vẻ lame.Ký tự kính lúp của chỉ số UITableView là gì?

Bất cứ ai có thể cho tôi biết nhân vật kính lúp là gì?

+0

Tôi không chắc chắn vì vậy tôi sẽ không làm cho câu trả lời này nhưng bạn gần như chắc chắn không may mắn. Tôi chủ yếu dựa trên thực tế là cả hai ứng dụng facebook và linkedin đều thiếu tính năng này. Nếu nó có sẵn, tôi sẽ mong đợi để tìm thấy nó làm việc trong những người. – carson

+0

Cảm ơn. Tôi đã đi trước và nộp báo cáo lỗi. –

Trả lời

113

Trả lại UITableViewIndexSearch làm tiêu đề chỉ mục phần (giống như @ "{search}") cũng hoạt động.

+2

chỉ để thêm, các tài liệu lưu ý điều này có sẵn trong hệ điều hành iPhone 3.0b và sau đó. – hkatz

+0

Đây có lẽ là cách tiếp cận được khuyến nghị. @ "{search}" dường như không được ghi lại ở bất cứ đâu. –

+9

Đây thực sự là câu trả lời đúng như xa như im liên quan. Bạn nên tránh sử dụng hằng số ma thuật trong mã của mình – arclight

2

Bạn chắc chắn có thể đặt ký tự Unicode trong chỉ mục xem bảng (tôi đã làm điều này với các ký tự khác) và đặt tiêu đề của bạn trong phần bảng đầu tiên thay cho tableViewHeader. Điều đó nói rằng, tôi chưa tìm thấy kính lúp trong bất kỳ tài liệu tham khảo unicode nào. Các đóng tôi đã tìm thấy là biểu tượng Máy ghi âm - ⌕ (\ u2315). Thật không may, nó chỉ sai hướng và "tay cầm" mở rộng vào "kính lúp".

+0

Vâng - Tôi đã được tất cả thông qua các nhân vật và đã không nhìn thấy nó. suy nghĩ khác của tôi là nó thuộc một trong những bộ phông chữ sống trên iPhone và không có trong OS X. Cuối cùng, có lẽ nó không phải là một nhân vật nào cả; chỉ một số biểu tượng riêng tư mà Apple đang trao đổi trong nội bộ. –

+0

Tôi đã chụp một bản sao của Friend Book trong thời gian ngắn trên cửa hàng ứng dụng và nó có một kính lúp ở phía trên cùng của chỉ mục, đó là lý do tại sao tôi cho rằng đó là một ký tự Unicode. Nhưng, như bạn đã nói, tôi chưa tìm thấy nó trong số bất kỳ nhân vật nào tôi đã thấy. – Jablair

94

@"{search}" FTW.

Trả lại tiêu đề đó và nó được thay thế một cách kỳ diệu bằng hình tượng đúng.

+2

Holy crap, đúng vậy! Cảm ơn! –

+0

tôi đã tìm kiếm nó trong một thời gian dài và cuối cùng đã nhận được nó trong diễn đàn 2 tuổi ... thanx. –

+33

Hãy xem xét sử dụng hằng số 'UITableViewIndexSearch', khi user123417 chỉ ra. –

0

Tôi có thể hiểu tại sao ai đó có thể không muốn sử dụng hình ảnh, mặc dù nó rất đẹp ... các ký tự được dễ dàng hơn nhiều để duy trì và có thể mở rộng với ít nỗ lực.

⚦ là một tùy chọn unicode khác cho ống kính lúp giống như glyph .. một lần nữa nó không quay về hướng đúng .. Tôi tin rằng nó thực sự là một loại biểu tượng giới tính lưỡng tính. Html cho biểu tượng unicode ở trên là & # 9894;

Tôi thực sự nghĩ rằng biểu tượng ống kính lúp phải được thêm vào bộ ký tự unicode trong "26: Misc. Ký hiệu".

43

Trong tableView: sectionForSectionIndexTitle: AtIndex: rõ ràng di chuyển đến phía trên và trở NSNotFound:

- (NSInteger) tableView:(UITableView *)tableView 
sectionForSectionIndexTitle:(NSString *)title 
       atIndex:(NSInteger)index { 
    if (index == 0) { 
     [tableView setContentOffset:CGPointZero animated:NO]; 
     return NSNotFound; 
    } 
    return index; 
} 
+1

Một tùy chọn khác là [self.tableView scrollToRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: 0] atScrollPosition: UITableViewScrollPositionBottom hoạt ảnh: NO]; –

+0

Cảm ơn, câu trả lời này rất hữu ích. – titaniumdecoy

+0

Cảm ơn @Marcello Bastea-Forte. – milanpanchal

1

Trong sectionIndexTitlesForTableView thêm tiêu đề NSMutableArray * ví dụ và ngoài các chỉ mục của bạn, thêm [title addObject: UITableViewIndexSearch]

5

Đã có một điểm mã UTF hiện tại cho kính lúp. Đó là U+1F50D. Tuy nhiên nó hơi khó nhận Xcode để nhận ra con số này. Theo Hướng dẫn lập trình chuỗi của Apple, các bit UTF phải được chia thành hai cặp thay thế UTF-16 (0xD83D, 0xDD0D). Kiểm tra với this surrogate pair calculator để tham khảo.

Một NSString Ví dụ với các nội dung của cặp thay thế có thể thu được với:

[NSString stringWithFormat:@"%C%C", 0xD83D, 0xDD0D]; 
+1

No. No. No. Sử dụng UITableViewIndexSearch như được đề cập trong một số câu trả lời (cũ hơn). Đó là một phần của SDK, vì vậy ứng dụng của bạn sẽ vẫn tương thích giữa các phiên bản iOS. – JOM

+2

Câu hỏi được hỏi là nhân vật cho kính lúp là gì và kỹ thuật này để làm việc với các codepoints UTF phức tạp hơn dường như đáng nói đến. iOS có một thư viện khổng lồ của glyphs mà mọi người không bao giờ sử dụng và một lần trong một thời gian nó chỉ là tốt đẹp để có quyền truy cập vào chúng bởi vì họ quy mô thực sự tốt. – weibel

+0

@ "" phù hợp với tôi. – Pang