2013-09-25 74 views
18

Trong IOS7, UITableView không có thụt đầu dòng nữa khi sử dụng kiểu = nhóm. Làm thế nào có thể kích hoạt thụt đầu dòng để UITableView hoạt động giống như ứng dụng cài đặt từ quả táo?IOSIT UITableView được nhóm như trong Cài đặt Ứng dụng

+0

Nhìn vào liên kết này. Nó cho thấy làm thế nào để thiết lập một nhóm UITableView http://mobisoftinfotech.com/iphone-uitableview-tutorial-grouped-table/ – erdekhayser

+2

Không, tôi biết cách làm việc này. Nhưng trong IOS7 họ gỡ bỏ thụt đầu dòng, nhưng tôi cần nó. Apple cũng sử dụng chúng trong ứng dụng cài đặt của họ. –

+0

Bạn thấy chính xác ý nghĩa của sự thụt đầu dòng nào? Các dấu phân cách hoặc văn bản? Nếu bạn đặt subviews của bạn trong contentview của các tế bào, tất cả mọi thứ nên xem xét tốt .. – Bms270

Trả lời

0

Bên cellForRowAtIndexPath phương pháp, hãy thử này:

CALayer *sublayer = [CALayer layer]; 
UIImage *img = [UIImage imageNamed:@"blue_box_6dbcef.png"]; 
sublayer.backgroundColor = [[UIColor alloc] initWithPatternImage:img].CGColor; 
sublayer.frame = CGRectMake(10,0,container.frame.size.width-20, 112); 
//sublayer.cornerRadius = 5; // For rounded corners 
UIView *bgview = [[UIView alloc] init]; 
bgview.backgroundColor = [UIColor clearColor]; 
[bgview.layer addSublayer:sublayer]; 
cell.backgroundView = bgview; 

Đó sẽ thêm một lề 10pt trên cả hai mặt (trái/phải) của tế bào.

16

Có một cách đơn giản hơn nhiều để đạt được điều này.

  1. Đặt UITableView của bạn cách xa hai bên. ví dụ: bằng cách sử dụng Autolayout, bạn sẽ có một không gian hàng đầu và sau là 15px (hoặc bất kỳ thứ gì bạn muốn). Bây giờ bạn đang tạo 'thụt đầu dòng' mà Apple đã sử dụng để cung cấp cho bạn miễn phí với chế độ xem bảng được nhóm.

  2. Điều chỉnh lớp để thêm góc và đường viền.

[[[self tableView] layer] setCornerRadius:5.0f];
[[[self tableView] layer] setBorderWidth:0.5f];
[[[self tableView] layer] setBorderColor:[[UIColor redColor] CGColor]];

(Tôi không thể đăng một hình ảnh của kết quả bởi vì tôi chưa có đủ uy tín)

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