2012-08-26 5 views
1

그래서 최근에 iOS 개발에 참여하기로 결심했습니다. 주로 다중 플랫폼에서 지식을 넓히고 싶기 때문입니다. 이미 자바를 알고 안드로이드 앱을 작성했기 때문에 iOS가 다음 단계였습니다.MonoTouch : 버튼이 보이지 않습니다.

그럼 내 질문은 다음과 같습니다. 테이블에서 사용자 정의 테이블 소스를 사용하여로드중인 새 뷰가있는 행을 클릭하여 반응합니다. 이제보기에서 이전 단추로 돌아가려면 뒤로 단추를 추가하고 싶습니다.

PointF locationOne = new PointF (5, 5); 
    PointF locationTwo = new PointF (5, 100); 
    SizeF size = new SizeF (120, 40); 

    RectangleF tView = new RectangleF (locationOne, size); 
    RectangleF tView2 = new RectangleF (locationTwo, size); 
     UILabel l1 = new UILabel(){Text = "LOOL",Frame=tView}; 

     UIButton backbutton = new UIButton(){ 
      Frame=tView2 
     }; 
     backbutton.Frame = tView2; 
     backbutton.TitleLabel.Text = "Zurueck"; 
     backbutton.Hidden = false; 

     UIView previousview = viewController.View; 
     backbutton.TouchDown += (sender, e) => { 
      viewController.View = previousview; 
     }; 

     UIView v = new UIView(); 
     v.AddSubview(l1); 
     v.AddSubview (backbutton); 


     viewController.View = v; 

지금 내 코드가됩니다. 레이블이 표시되고 단추는 표시되지 않습니다. 내가 놓친 게 있니?

덕분에 이미 :)

+0

UINavigationController는 뒤로 가기 버튼이 있어야하므로 사용해야합니다. – Candide

+0

보기 사이를 탐색하는 경우 사용자 지정 탐색을 만드는 대신 UINavigationController를 사용하여보아야합니다. – Jason

답변

1

UIViewv 더 프레임이 없습니다. 상위 컨트롤러의 프레임 (어쩌면 v.Frame = viewController.View.Frame;)으로 설정해야합니다. 그런 다음 viewcontroller의 화면을 바꿉니다.

편집 :

있는 UIButton의 초기화를 잘하지 않습니다. 일반 버튼을 만드는 방법은 다음과 같습니다.

PointF locationOne = new PointF (5, 5); 
PointF locationTwo = new PointF (5, 100); 
SizeF size = new SizeF (120, 40); 

RectangleF tView = new RectangleF (locationOne, size); 
RectangleF tView2 = new RectangleF (locationTwo, size); 
UILabel l1 = new UILabel(){Text = "LOOL",Frame=tView}; 

UIButton backbutton = UIButton.FromType(UIButtonType.RoundedRect); 
backbutton.Frame = tView2; 
backbutton.SetTitle("Zurueck", UIControlState.Normal); 

UIView previousview = viewController.View; 
backbutton.TouchUpInside += (sender, e) => { 
    viewController.View = previousview; 
}; 

UIView v = new UIView(); 
v.BackgroundColor = UIColor.White; 
v.AddSubview (l1); 
v.AddSubview (backbutton); 
viewController.View = v; 
+0

단추가 나타나지 않았 으면 –

+0

Volker가 업데이트 된 답변을 참조하십시오. 다시 단추를 초기화하는 방식이 올바르지 않습니다. 이것은 효과가있다. – Candide

+0

완벽하게 작동합니다. 고마워요 :) –

관련 문제