2011-12-07 20 views
14

Tôi đã sử dụng Xcode 4.2 để tạo ứng dụng iOS dựa trên storyboard. Một trong các màn hình của tôi chứa UITableViewController, sử dụng các ô tùy chỉnh động.Sử dụng UITableViewCell tùy chỉnh động trong XCode 4.2, với Storyboards và UISeachDisplayController

Cho đến nay - rất tốt.

Bây giờ, tôi muốn thêm UISearchDisplayController để cho phép lọc danh sách của tôi.

Đối với một số lý do, UISearchDisplayController sẽ không hiển thị các tế bào tùy chỉnh của tôi, và tôi không thể tìm thấy một cách để buộc nó ...

Đây là những gì phương pháp cellForRowAtIndexPath tôi trông:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *CellIdentifier = @"QueueListCell"; 
    QueueListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[QueueListTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
              reuseIdentifier:CellIdentifier]; 
    } 
    assert(cell); 

    if ([tableView isEqual:self.searchDisplayController.searchResultsTableView]) { 
     indexPath = [_indexPathsForSearchResults objectAtIndex:indexPath.row]; 
    } 

    // Set up the cell... 
    NSDictionary* itemDict = [_ListItems objectAtIndex:indexPath.row]; 

    cell.labelQueueName.text = [itemDict objectForKey:kQueueName]; 
    cell.labelQueueNumItems.text = [[itemDict objectForKey:kQueueNumItems] stringValue]; 

    return cell;  
} 

Bất kỳ suy nghĩ nào về cách làm việc này? Ý tôi là, bảng UISearchDisplayController của tôi KHÔNG hiển thị số lượng kết quả chính xác (tôi biết rằng vì tôi có thể nhấp vào chúng, và tôi đã thêm một NSLog để cho tôi biết tôi đang nhấp vào ...)

Đây là của tôi bảng điểm This is my table view

Đây là cách bảng hiển thị tìm kiếm trông giống như ... This is how the search display table looks like...

My vấn đề/câu hỏi là làm thế nào để làm cho xem bảng UISearchDisplayController hiển thị các tế bào tùy chỉnh của tôi?

Bất kỳ giúp đánh giá cao ...

Reuven

+0

Bạn luôn có thể kiểm tra sự khác biệt bằng cách so sánh tham chiếu của tableView. –

+0

lưu ý vấn đề của tôi là vì một số lý do, searchResultsTableView không hiển thị các ô khách hàng của tôi. Đó là những gì tôi đang cố gắng giải quyết (xem hình ảnh tôi đã thêm vào bài viết) – Reuven

Trả lời

27

trả lời cụ thể để truy vấn

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
} 

Đối với Hoàn Ví dụ, có sample code from apple's site.

Step by step illustration

+2

Spark, bạn là anh hùng của tôi! :-) vì vậy, vì vậy, rất bực bội. Tuy nhiên, vì vậy rất đơn giản và thanh lịch để sửa chữa! CẢM ƠN! – Reuven

+1

Cảm ơn! Tôi đã đấu tranh với điều này trong nhiều giờ. –

+1

vậy vấn đề là gì? – ladookie

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