2009-06-29 1 views

답변

6

이 그것이 있어야보다 어렵을하기 때문에,이 메일 응용 프로그램에서 수행처럼 진행 표시기를 구현하는 방법을 알려 주시기 바랍니다 Apple은 NSProgressIndicatorCell을 제공하지 않습니다. 표 및 개요보기는 사용자 정의 셀이 그 안에 표시된다는 아이디어를 지원하지만 사용자 정의 하위보기를 쉽게 지원하도록 설정되지는 않습니다.

트릭이 생기면 실제 NSProgressIndicator 뷰를 테이블 뷰 행에 실제로 설치할 필요없이 창에서 원하는 지점에 표시하고 애니메이션을 적용하려면 어떻게해야합니까?

내가 사용한 트릭은 문자 그대로 NSProgressIndicator를 개요 또는 테이블보기 자체의 하위보기로 설치하는 것입니다. 하위 뷰를 추가 할 위치를 찾으려면 "행에 있음"처럼 보이도록 frameOfCellAtColumn : row : 메소드를 사용하십시오. 그런 다음 개요 표시의 해당 위치에 진행 표시기를 배치 할 수 있습니다. 진행률 표시기가 끝나면 더 이상 표시하지 않으려 고하므로 슈퍼 뷰에서 제거하고 버립니다.

아웃 라인보기의 크기를 조정할 때 /가 표시 될 때 진행 표시기에 필요한 자동 크기 조정 플래그를 설정하여 올바른 방향으로 부각되도록 할 수 있습니다.

원하는 최종 결과를 얻으려면 이와 같은 다른 해킹이있을 것입니다. 나는이 속임수를 성취 할 수있는 초 깨끗한 방법이 없다고 생각합니다.

+0

아주 좋은 해결책이지만 때로는 셀 텍스트를 줄임표로 줄일 수 있습니다. 따라서 셀은 텍스트의 너비를 줄이기 위해 '외부'표시기에 대해 알아야합니다. http://tinyurl.com/mkmfat – Stream

+0

내가 한 것은 실제로 진행률 표시기가 자신의 (빈) 열을 표시 할 것으로 기대하는 영역을 제공합니다. 탁자. 테이블의 "사용할 수없는"영역이 있기 때문에 조금 복잡 하긴하지만 합법적 인 셀 내용이 진행 표시기 영역과 겹치지 않도록 보장합니다. – danielpunkass

+0

죄송하지만 목에 아프지 만 여분의 열은 매우 편리한 해결책이 아닙니다 :) Mail에서 사용 된 구현이 매우 마음에 들고 비엔나 응용 프로그램에서이 스레드에서 언급 한 것과 같은 결과를 얻기 위해 셀의 viewControl 메서드를 사용합니다. 나는이 길로 가려고 노력할 것이다. – Stream

3

Vienna은 소스 목록에이 피드를 가지고있는 오픈 소스 (Apache 라이센스) 피드 리더입니다. 그들이 어떻게했는지 보려면 the Vienna source code을 봐야합니다.

+0

소스 코드 링크는 https://github.com/ViennaRSS/vienna-rss에있다. – jemeshsu

2

비엔나의 구현은 완벽하지 않습니다. 폴더에 피드를 추가 한 다음로드 중이고 진행 표시기가 해당 폴더를 사용중인 폴더로 축소합니다. 진행 표시기가 여전히 동일한 위치에서 실행되는 것을 볼 수 있습니다.

관련 문제