Thêm mũi tên nhỏ vào bên phải của một ô trong Ô Bảng TableView


138

Điều này nên đủ đơn giản.

Tôi có một ứng dụng iPhone với TableView. Làm cách nào để thêm mũi tên cổ điển nhỏ vào phía bên phải của mỗi ô?

Câu trả lời:


317

Chỉ cần đặt thuộc tính phụ kiện tương ứng của UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

Trong Swift 3 ,

cell.accessoryType = .disclosureIndicator

1
Lưu ý rằng nếu bạn muốn xoay mũi tên ... bạn không thể làm điều đó . Bạn phải sử dụng một hình ảnh .. stackoverflow.com/questions/13836606/ từ
Fattie

1
Đối với Swift, chỉ cần sử dụng cell.accessoryType = UITableViewCellAccessoryType.DisclensesTheicator
Quintin Balsdon

1
cell.accessoryType = .DisclosureIndicatorhoạt động trong Swift, quá.
Tim Vermeulen

SWift 3.0: cell.accessoryType = .disclensesTheicator
Brian

67

Bạn có thể làm điều này trong Trình tạo giao diện. Chỉ cần nhấp vào nhấp vào Chế độ xem bảng , đi đến các ô nguyên mẫu ở phía bên phải và tạo nó 1. Sau đó nhấp vào ô Nguyên mẫu đó và ở bên phải tìm Phụ kiện . Trong trình đơn thả xuống, nhấp vào Chỉ báo tiết lộ .

Ví dụ về Trình tạo giao diện


Tôi không thể thấy bất cứ điều gì như "Tế bào nguyên mẫu" trong xCode của mình ... Nó có sẵn trong một số phiên bản của xCode không?
Rasto

Tôi cũng không thể tìm thấy "Tế bào nguyên mẫu". Tôi đã sử dụng cell.accessoryType = UITableViewCellAccessoryDisclensesTheicator; trong ô tùy chỉnh.
Arkady

1
hey @rzv bạn có thể phóng to hình ảnh thêm một chút không? tôi quên kính của mình
abbood

6

Bạn có thể đặt mũi tên cổ điển nhỏ như hai cách như dưới đây

1) Sử dụng phương pháp loại phụ kiện sẵn có của UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Tạo chế độ xem phụ kiện riêng với hình ảnh riêng

(I) Kéo và thả hình ảnh mũi tên (tức là circle_arrow_right.png) trong dự án của bạn

(II) Trong phương pháp thiết kế ô cho mỗi hàng như dưới đây

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Viết mã dưới đây:

if (cell ==nil) {
    cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:CellIdentifier]autorelease];

    //For creating custom accessory view with own image
    UIImageView *accessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    [accessoryView setImage:[UIImage imageNamed:@"circle_arrow_right.png"]];
    [cell setAccessoryView:accessoryView];
    [accessoryView release];

    //Your other components on cells
     .............
    .............

 }

[ Lưu ý: Chọn hình ảnh phù hợp để xem phụ kiện và thêm vào các ô mong muốn của bạn. Chọn hình ảnh nhỏ cho chế độ xem phụ kiện để có hiệu suất tốt hơn.]



3

cho mũi tên đơn giản:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

và cho mũi tên chi tiết:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

cell.accessoryType = UITableViewCellAccessoryType.DisclensesTheicator;)
MR


2

Cách khác để làm điều này là chỉ định UITableViewCellAccessoryDisclosureIndicatorkhi bạn tạo ô. Để làm điều này, bạn có thể sẽ cấp phát init cho ô của mình trong phương thức ủy nhiệm bảngViewCellWithReuseIdentifier (sau đó tiến hành tùy chỉnh và định cấu hình ô của bạn).

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellAccessoryDisclosureIndicator reuseIdentifier:identifier];

0

Cách tốt nhất là chọn Disclosure Indicatortrong Accessoryphần.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.