2011-12-22 3 views
0

정말 방해가됩니다. UIImageView를 탭하면 탭 제스처에서 새로운 UIViewController로 올바르게 탐색 할 수없는 것처럼 보입니다. MonoTouch 스토리 보드를 사용하고 있습니다. 첫 번째보기 컨트롤러에 단추를 만들고 밀어 넣기를 사용하여 두 번째보기 컨트롤러로 끌면 탐색이 제대로 작동하고 두 번째보기 컨트롤러의 모든 컨트롤이 모두 인스턴스화됩니다. 아래의 코드를 탭 제스처 핸들러에서 사용할 때 두 번째보기 컨트롤러로 이동하지만 모든 컨트롤은 null이며 아무 것도 시도하지 않고 액세스하면 화면이 검정색으로 표시됩니다.Montouch의 UIImageView에서 탐색 할 때 기본보기가로드되지 않습니다.

두 번째보기 컨트롤러의 생성자에 과부하가 걸려서 문제가 될 수 있다고 생각되는 값이없는 인스턴스를 만들 수 있지만 원본 생성자에 전달할 내용을 알지 못합니다.

public partial class ViewControllerTwo : UIViewController 
{ 
    public int SelectedID { get; set; } 

    public ViewControllerTwo (IntPtr handle) : base (handle) 
    { 

    } 

    public ViewControllerTwo() : base (NSObjectFlag.Empty) 
    { 

    } 
0 : 여기
[Export("HandleImageTap")] 
public void HandleImageTap(UITapGestureRecognizer recogniser) 
{ 
    ViewControllerTwo myViewController2 = new ViewControllerTwo(); 
    myViewController2.SelectedID = 2; 
    NavigationController.PushViewController(myViewController2, true); 
} 

는 제 뷰 컨트롤러의 생성자이다 I 찾을 수있는 모든 실시 예는 여기

한 뷰 컨트롤러의 코드 테이블 네비게이터 등으로부터 이동되고

누군가가 도와 줄 수 있다면 나는 정말로 붙어서 하루에 약 1/2 정도를 해왔을 때 영원히 감사 할 것입니다! 이 동작을 변경되지 않은 것처럼 두 번째 생성자베이스 (NSObjectFlag.Empty) :

고마워,

Davoc

편집은 다음을 추가했습니다.

답변

0
ViewControllerTwo()에 대한 기본 생성자가 제대로 체인되지

는 사용해보십시오 :

public ViewControllerTwo() : base (NSObjectFlag.Empty) 

또한, 당신이

+0

안녕 미구엘, 당신의 응답을 주셔서 감사합니다, 나는했습니다 UIStoryboardSegue보고 할 수 있습니다 방금 시도한 및 그것을 여전히 이전과 같은 방식으로, 그래서 만약 내가 두 번째보기 컨트롤러에서 레이블에 액세스하려고하면 레이블을 null로, 첫 번째보기 컨트롤러에서 단추를 사용하지 않습니다 푸시를 사용하여 컨트롤을 두 번째로 드래그합니다. 뷰 컨트롤러 사이를 프로그램 적으로 이동하는 데 올바른 방법을 사용하고 있습니까? 감사합니다, –

+0

런타임에 뷰를 생성하여 this.View.Subviews에 추가 할 수 있다는 것을 알았습니다. 스토리 보드 디자이너를 통해 생성 한 뷰이고 표시되지 않고 null 인 경우도 있습니다. 위의 방법. 뷰 컨트롤러를 인스턴스화 할 때 디자이너가 만든 뷰가 인스턴스화되었는지 확인하기 위해 수행해야 할 작업이 있습니까? 감사합니다 –

+0

위의 발췌 문장에서 말하기가 어렵습니다. 나는 독립적 인 테스트 케이스를 볼 필요가있다. –

관련 문제