2011-12-29 2 views
4

MT.Dialog에 로그 정보를 추가했습니다.Monotouch : 아래로 MT.Dayog 스크롤?

행의 높이가 다를 수 있습니다.

내 MT.Dialog가 항상 맨 아래로 스크롤되므로 마지막 행 전체가 항상 표시되도록하려면 어떻게해야합니까?

그러나 사용자가 목록을 위로 스크롤하면 새 행을 추가 할 때 맨 아래로 스크롤하지 않아야합니다.

제안 사항?

감사합니다. Mojo

답변

7

흠, 구현 또는 루트 요소 구조에 대해 알지 못해서 최상위 수준 만 중첩되지 않는다고 추측 할 수 있습니다. 즉

var lastIndexPath = this.Root.Last()[this.Root.Last().Count-1].IndexPath; 
this.TableView.ScrollToRow(lastIndexPath, UITableViewScrollPosition.Middle, true); 

... 당신은 단순히 배열의 마지막 행의 indexPath를 잡아 그것의 인덱스 경로를 잡고 프로그래밍 방식으로 그것을 아래로 테이블 뷰를 스크롤 할 수 있습니다 .... 말했다되고.

참고로 indexPath를 가져 오는 코드는 테스트되지 않았지만 정상적으로 작동해야합니다. 수업 상단에 다음을 정의해야합니다 .-)

using System.Linq; 
+0

대단히 감사합니다! ... 이제 마지막 행이 보이는지 코드를 실행하기 전에 알아낼 필요가 있습니다. 사용자가 목록을 위로 스크롤하면 마지막 행이 보이지 않아야합니다. 어떤 생각? – MojoDK

+1

짧은 대답 : 하위 클래스 요소, GetCell 오버라이드, ScrolledToBottom에 대한 상태 추가, GetCell에서 상태 관리 수행 – Anuj