uitableview 수평 셀 분리기 라인은 위 또는 아래로 스크롤하지 않습니다.
-
20-09-2019 - |
문제
나는 nib'less uitableview를 표시하기 위해 monotouch 코드를 작성했으며보기는 초기 디스플레이에 셀 데이터로 채워진 것처럼 보입니다. 그러나 더 많은 데이터를 볼 수 있도록 스크롤을 터치하면 스크롤 동작과 함께 움직이지 않는 정적 수평 셀 분리기 라인으로 구성된 이중 그리드 패튼으로 끝납니다. 스크롤 다운 작업.
테이블 뷰 상단으로 다시 스크롤하면 정적 및 동적 수평이 완벽하게 동기화되고 화면이 정상으로 보입니다. 추가 스크롤은 문제를 재현합니다.
기본 UitableViewCell 객체를 사용하여 테이블 행을 채우고 있습니다.
인터페이스 빌더가 정상으로하는 것을 구성하지 못했을 것입니다. 어떤 아이디어? 바라건대 대상 C 사람들이 .NET 코드를 해석 할 수 있기를 바랍니다.
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
_tableView = new UITableView()
{
Source = new TableSource(),
AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth,
BackgroundColor = UIColor.White
};
_tableView.SizeToFit();
_tableView.Frame = new RectangleF ( 0, 0, this.View.Frame.Width, this.View.Frame.Height );
this.View.AddSubview( _tableView );
업데이트 1 : 내비게이션 컨트롤러 스택에서 렌더링 된 이전 뷰에서 수평 셀 분리기 라인의 추가 세트가 출혈하고 있다고 우려했습니다. 그래서 앱을 다시 주문하여 문제가있는 테이블을 앱 시작시 첫 번째보기를 만들었지 만 문제는 남아있었습니다.
업데이트 2 : 추가
tableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
이것은 수평선의 이중 세트를 피하지만 테이블 뷰가 두루마리로 셀의 중간을 통해 교차하는 정적 수평이 남아 있습니다.
업데이트 3 : 모호한 이론이있어 셀 높이 구성 불일치 또는 배경 채우기 문제와 관련이 있으므로 수평선은 테이블 뷰에서 검은 색 픽셀을 나타낼 수 있습니다. 이 이론을 테스트하는 방법을 잘 모르겠습니다.
해결책
해결책이 발견되었습니다. 위의 코드 예제는 Blogshere의 제 3 자 Monotouch 샘플 응용 프로그램에서 채택되었습니다. 이 코드는 완전히 겹쳐진 두 개의 uitableviews를 생성하는 것으로 보이며 정적 그리드 라인은 아마도 터치 스크롤 제스처에 응답하지 않은 Z-Order의 비어 있고 더 깊은 uitableview에서 왔을 것입니다.
uitableviewcontroller 클래스가 우리를 위해 이것을 수행하기 때문에 위에 표시된 것처럼 Uitableview 객체를 수동으로 인스턴스화 할 필요가 없습니다.
다음은 나에게 맞는 코드입니다.
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
this.TableView.Source = new TableSource();
}