2010-07-15 34 views
5

Làm cách nào để tạo nhiều cột trong hàng của chế độ xem bảng? nó sẽ là biết ơn nếu đưa ra bất kỳ mẫu hoặc xin vui lòng hướng tôi!Nhiều cột trong Tableview

Trả lời

6

UITableView không thực sự được thiết kế cho nhiều cột. Nhưng bạn có thể mô phỏng các cột bằng cách tạo một lớp UITableCell tùy chỉnh. Xây dựng ô tùy chỉnh của bạn trong Trình tạo giao diện, thêm các phần tử cho từng cột. Cung cấp cho mỗi phần tử một thẻ để bạn có thể tham chiếu nó trong bộ điều khiển của bạn.

Cho điều khiển của bạn một lối thoát để tải các tế bào từ ngòi bút của bạn:

@property(nonatomic,retain)IBOutlet UITableViewCell *myCell;

Sau đó, trong phương pháp bảng điểm đại biểu của cellForRowAtIndexPath, gán những giá trị của thẻ.

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"MyCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) { 
    // load cell from nib to controller's IBOutlet 
    [[NSBundle mainBundle] loadNibNamed:@"MyTableCellView" owner:self options:nil]; 
    // assign IBOutlet to cell 
    cell = myCell; 
    self.myCell = nil; 
    } 

    id modelObject = [myModel objectAtIndex:[indexPath.row]]; 

    UILabel *label; 
    label = (UILabel *)[cell viewWithTag:1]; 
    label.text = [modelObject firstField]; 

    label = (UILabel *)[cell viewWithTag:2]; 
    label.text = [modelObject secondField]; 

    label = (UILabel *)[cell viewWithTag:3]; 
    label.text = [modelObject thirdField]; 

    return cell; 
} 
+0

Cảm ơn bạn đã trả lời có giá trị của bạn. nhưng tôi cần như DataGrid như ma trận bảng xem với tiêu đề và hồ sơ .. – sri

+0

Có lẽ tôi không hiểu những gì bạn đang tìm kiếm, nhưng bạn có thể dễ dàng sử dụng phương pháp này để tạo ra một cái gì đó trông giống như một bảng excel. Bạn có thể thêm chế độ xem vào tiêu đề phần cho tiêu đề của mình. Nếu bạn đang tìm kiếm một giải pháp dễ dàng tự động tạo chế độ xem giống như ma trận mà bạn chỉ có thể điền dữ liệu, tôi không biết gì cả. –

+0

Tôi muốn nhân rộng điều này cho bản thân mình, bạn có thể xây dựng trên loại lớp ô tùy chỉnh này phải ở trong IB không? Để cho ô mới mà bạn tải lên cho mỗi hàng để ánh xạ tới ổ cắm của bạn, MyTableView NIB có chứa ô xem bảng của lớp tùy chỉnh kế thừa từ UITableViewCell và có ổ cắm MyCell không? Sử dụng của bạn của chủ sở hữu: tự ở đây dường như đề nghị rằng các tế bào nạp thực sự là loại UITableViewController, mà có vẻ kỳ lạ. –

0

Bạn có thể sử dụng nhiều UITableView cạnh nhau. Điều đó sẽ ổn với các ô tùy chỉnh. Vì vậy, bạn có thể chuyển đổi nó cho đến khi nó trông giống như một DataGrid. ;-)

0

Tôi đã tạo UIGridView trong đó một UITableViewCell đơn chứa nhiều hơn một ô. Bạn có thể tìm hiểu mã nguồn của UIGridView.

Lời khuyên của tôi không được mã hóa nó trong UIViewController của bạn. Xây dựng một điều khiển bên ngoài và sử dụng nó trong UIViewController là một cách tốt hơn nhiều.

Hoặc bạn chỉ có thể sử dụng của tôi :)

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