2012-05-13 1 views
2

MonoTouch 바인딩 프로젝트에서 GMGridView을 내 응용 프로그램에 통합하려고합니다. 빈 그리드보기를 성공적으로로드 할 수 있었지만 그리드 항목을로드 할 수 없었습니다. MonoTouch & Objective C 코드를 사용하다가 System.Drawing.SizeF 바인딩이 CGSize로 잘못 변환되었다는 것을 알게되었습니다 (즉, SizeF (140f, 110f)가 CGSize (140, 0)로 변환 됨 - 높이 값이 손실 됨) .CGSize/SizeF 바인딩에 대한 잘못된 변환 값

목표 C 정의

- (CGSize)GMGridView:(GMGridView *)gridView sizeForItemsInInterfaceOrientation:(UIInterfaceOrientation)orientation; 

Monotouch 내가 잘못 binding이야 또는이 알려진 버그 인 경우 궁금 해서요

[Abstract, Export ("GMGridView:sizeForItemsInInterfaceOrientation:")] 
    System.Drawing.SizeF SizeForItemsInInterfaceOrientation (GMGridView gridView, UIInterfaceOrientation orientation); 

바인딩? 또한 높이 값에 대한 추가 콜백을 만드는 것 이외의 해결 방법은 무엇입니까?

바인딩 및 테스트 코드는 여기에 게시됩니다 : GMGridMono

감사를이에보고하십시오.

+0

멋진 아이디어 인 MonoTouch에는 실제로 Grid View 구성 요소가 없습니다. 잠시 시간을 갖자 마자 항구를 도와 드리겠습니다. –

+0

물론 프로젝트를 자유롭게 업데이트하십시오. 지금은 높이를 전달하기 위해 추가 콜백을 만들고 있습니다. – Aarpy

+0

사용중인 MonoTouch 버전은 시뮬레이터 또는 장치 (또는 둘 다)에서 발생합니까? 방금 5.2.11 시도하고 시뮬레이터에서 문제를 찾을 수 없습니다 (SlidesGridView.cs : 29의 SizeForItemsInInterfaceOrientation에서 반환 값을 인쇄하고 괜찮습니다). –

답변

1

CGSize를 반환하는 메서드에 대한 바인딩과 동일한 문제가 발생했습니다. 모노 터치 V5.2.12. 시뮬레이터에서 발생하지만 장치에서는 발생하지 않습니다. 모노 응용 프로그램에서 메서드에 대한 직접 호출은 정상적으로 작동하지만 바인딩 된 라이브러리에서 모노 코드에이 메서드를 콜백으로 사용하면 반환 된 Height 값이 올바르지 않고 초기화되지 않은 것으로 나타납니다.