2013-10-01 9 views
11

iOS 7의 테이블보기에 빨간색 separatorColor을 설정하고 separatorInsetUIEdgeInsetsZero 또는 다른 사용자 정의 삽입 값으로 설정하면 모든 추가 또는 "추가"행에 기본 색상 분리 기호가 있습니다. 이 문제를 어떻게 해결할 수 있습니까?UITableView가 custom separatorInset이있는 "여분"구분 기호에 대해 separatorColor를 무시하는 이유는 무엇입니까?

separatorInset에 대한 문서의 마지막 문장은 어떻게 든 여분의 기록을 제어하는 ​​것을 의미한다,하지만 난 표시되지 않습니다 :

아이폰 OS 7에서

나중에는 세포 분리기에 모든 방법을 확장하지 않습니다 테이블 뷰의 가장자리. 이 속성은 rowHeight이 셀의 기본 높이를 설정하는 것처럼 표의 모든 셀에 대한 기본 인세 트를 설정합니다. 일반 스타일 테이블의 맨 아래에 그려진 "추가"구분 기호를 관리하는데도 사용됩니다.

viewDidLoad의 구분을 설정합니다

self.tableView.separatorColor = [UIColor redColor]; 

그리고 당신이 얻을 :

self.tableView.separatorInset = UIEdgeInsetsZero; // <- any custom inset will do 
self.tableView.separatorColor = [UIColor redColor]; 
:

enter image description here

을 그리고 당신은 separatorInset과 색상을 설정할 때 16,

이 얻을 :

enter image description here

왜 이런 일이 않고 어떻게이 모든 구분이 빨간색으로하고 제로로 모든 구분 세트를 설정할 수 있습니까? 이거 버그 야?

+0

동일한 문제가 UIEdgeInsetsZero가 아닌 사용자 정의 separatorInset에서도 발생하는 것으로 보입니다.다행히도 허용 된 솔루션은 사용자 정의 separatorInset에서도 작동합니다. 감사! –

+0

좋은 캐치. 나는 이것을 포함하도록 질문을 업데이트했다. – Aaron

답변

20

해결되었지만 설명 할 수 없습니다.

두 명령문의 순서를 교체하십시오. 다음, 먼저 삽입을 색상을 설정합니다

self.tableView.separatorColor = [UIColor redColor]; 
self.tableView.separatorInset = UIEdgeInsetsZero; 

모든 작동합니다

enter image description here

+0

이상하지만 그것은 나를 위해 일했다! –

+0

이것은 해킹입니다. –

+1

예. 당신의 대답이 해킹이 아닌 이유를 말할 수 있습니까? 색깔이 왜 존중되지 않는지 설명하지는 않습니다. – Aaron

2

시도가 cellForRowAtIndexPath이 추가. 또한 tableView의 separatorInsets를 설정합니다. 있는 UITableViewCell 아이폰 OS 문서에서

cell.separatorInset = UIEdgeInsetsZero;

:

@property (세분화) UIEdgeInsets separatorInset

셀의 내용에 대한 세트 값을.

이 속성을 사용하면 현재 셀의 내용과 테이블의 왼쪽 및 오른쪽 가장자리 사이에 공백을 추가 할 수 있습니다. 양수 값을 설정하면 셀 내용과 셀 구분 기호가 표 가장자리에서 안쪽으로 멀리 이동합니다. 음수 값은 인세 트가 0으로 설정된 것처럼 처리됩니다.