2011-09-06 29 views
6

Làm thế nào để giảm/loại bỏ lề trái/phải trong một UITableView được nhóm?làm thế nào để giảm/loại bỏ lề trái/phải trong một UITableView được nhóm?

Có cách nào để thực hiện việc này mà không cần xác định chế độ xem tùy chỉnh, tức là sử dụng trực tiếp UITableViewController không?

Tôi KHÔNG hỏi ở đây về khoảng trống giữa các ô, nó là khoảng trống bên trái của các ô bạn nhìn thấy bên trái là &.

EDIT 1: Tôi có thể làm rõ:

  • đã có một UITableViewCell ("@ interface AppointCell: UITableViewCell") tùy chỉnh trong giải pháp của tôi
  • Tôi nghĩ rằng khu vực bên trái và bên phải của các tùy chỉnh UITableViewCell của tuy nhiên không phải trực tiếp từ chính tế bào - tôi nói điều này chỉ khi tôi đặt một đường viền quanh ô (thông qua lớp của nó) tôi có thể thấy điều này - do đó có vẻ như không gian từ chính bản thân UITableView (không phải là ô)
  • nên chỉ ra một lần nữa tôi đang sử dụng chế độ GROUPED cho chế độ xem bảng

Trả lời

9

Chắc chắn; chỉ cần điều chỉnh khung của UITableView vì vậy nó rộng hơn một chút so với superview của nó và một chút ở bên trái (theo hướng X âm, nói cách khác) của đường biên trái của nó.

+0

Điều đó nghe giống như cách tiếp cận đúng. Bạn có thể thử đặt dòng đó trong '-viewWillAppear: animated:'; chế độ xem của bạn có thể không được đặt kích thước chính xác khi lần đầu tiên tải, nhưng chắc chắn sẽ đến lúc bộ điều khiển của bạn được thông báo sắp xuất hiện. –

+0

arr yes ... có vẻ như hoạt động – Greg

+0

Cách tiếp cận này dường như không hoạt động, ít nhất hiện tại trong iOS 7 và 8. Có cách tiếp cận mới nào mà mọi người đang sử dụng để thực hiện việc này không? –

1

Tôi tin rằng bạn phải tạo chế độ xem ô tùy chỉnh cho bảng có phần đệm ở bên trái và bên phải.

+0

cảm ơn - bạn có thể lưu ý phản hồi EDIT 1 của tôi tuy nhiên ...? – Greg

+0

Ah, đó là một câu hỏi thú vị! Tôi tự hỏi nếu bạn có thể làm một thay đổi kích cỡ trên khung CGRect của tableview ... –

+0

yeah ... Tôi có thể thử điều này và xem làm thế nào tôi đi – Greg

1

Bạn cũng có thể làm cho ô rộng hơn một chút. Thêm phương thức này vào lớp con UITableViewCell của bạn.

- (void)setFrame:(CGRect)frame { 
    frame.origin.x -= marginOffset; 
    frame.size.width += 2 * marginOffset; 
    [super setFrame:frame]; 
} 

Tôi tin rằng chênh lệch phải là 9 điểm. Lưu ý phụ: Nếu bạn đặt nền tùy chỉnh cho ô, bạn cũng có thể phải đặt nền tùy chỉnh là Nền tảng được chọn.

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