2010-01-28 3 views
0

내 응용 프로그램은 tableViews에서 약간 더 두꺼운 구분선을 사용합니다 - 두께의 약 3 배. separatorStyle을 none으로 설정하고 두꺼운 분리 기호가 포함 된 사용자 정의 배경으로 셀 backgroundViews를 사용자 정의하여 일부 영역에서 이미이 작업을 수행했습니다.UITableView의 구분선을 수정할 수있는 방법이 있습니까?

이 방법의 문제점은 실제 행에만 적용된다는 것입니다. 따라서 전체 화면을 채우지 만 두 행만있는 tableView가있는 경우 두 행에만 사용자 지정 구분 기호가 있습니다. 내가 사용하고있는 임시 해결책은 실제 행이 전체 테이블을 채우지 않을 때마다 빈 셀 (사용자 정의 배경 사용)을 작성하는 것입니다. 그러나이 해결 방법은 실용적이지 않습니다.

기본 구분 기호의 두께를 수정할 수 있다면 상황이 훨씬 간단해질 수 있습니다. 이와 비슷한 방법이 있습니까?

답변

2

이 잘 나는 그것을 알아 냈다. 사실 꽤 간단하지만 나쁜 소식과 좋은 소식이 있습니다. 나쁜 소식은 분리 기호가 실제로 tableview에 서브 뷰로 추가 된 자체 뷰 클래스이고,이 클래스는 Apple의 문서화되지 않은 API의 일부입니다. 따라서, 그것들의 수정은 애플과 잘 맞지 않을 것이다.

구분선을 두껍게하기 위해 문서화되지 않은 클래스를 사용할 필요가 없다는 것이 좋은 소식입니다. 자신 만의 하위 뷰를 구분 기호로 추가하기 만하면됩니다. 개인적으로 차라리 서브 뷰 메커니즘을 사용하는 것과는 대조적으로 (모든 새로운 서브 뷰가 잠재적으로 큰 테이블이 고르지 않게 될 수 있기 때문에) 선을 그려야합니다. 그러나 _UITableViewSeparatorView에 액세스 할 수 없기 때문에 가능한 한 수행 할 것입니다. 얻을 :

+4

우리는 어떻게 우리 자신의 구분 기호를 만들 수 있습니까? 솔루션에 코드를 게시 하시겠습니까? – Tony

0

관련 질문 here.에 답변했습니다. drawRect 메서드로 이동하여 필요에 따라 선 너비를 늘리십시오.

이 코드를 그룹화 테이블에 대한 것을 기억하십니까 당신은 당신의 tableview의 코드를 약간 수정해야합니다 (일반 테이블을 사용하는 경우.)이 도움이

희망을.

감사합니다,

Madhup

+0

응답 주셔서 감사합니다. 그러나 코드를 살펴보면 UITableViewCell의 배경을 사용자 정의하는 것처럼 보입니다. 제 질문은 numberOfRows = 0 인 경우에도 (일반) tableView에 나타나는 구분 기호와 관련이 있습니다.이 경우 cellForRowAtIndexPath는 호출되지 않지만 tableView는 여전히 적절한 구분선을 그립니다. 당신은 저에게 아이디어를주었습니다 ... 아마도 tableView의 drawRect : 메서드를 사용자 정의하여 표준 분리 선 위에 두꺼운 선을 그릴 수있게 만들 수있었습니다. 아마 내가하고있는 일에 너무 많은 일이 생기는 것 같습니다. – iPhoneToucher

관련 문제