iOS 디자이너 (Objective-C 세계에서는 IB)로 정적 UITableView
을 설정했습니다. 그러나 오리엔테이션은 제한하고 싶지만 변경되었습니다.정적 인 UITableView를 사용할 때보기 컨트롤러의 방향을 제한하십시오.
나는 다음과 같은 짓을했는지 : 나는 세로로 방향 선택 시뮬레이션 통계에서
에서 속성. 내 UITableViewController
을 위해 다음과 같은 기능을 구현하고있어보다 :
public override bool ShouldAutorotate()
{
return false;
}
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
return UIInterfaceOrientationMask.Portrait;
}
public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation()
{
return UIInterfaceOrientation.Portrait;
}
GetSupportedInterfaceOrientations
가 호출 나는 세로을 반환하지만보기는 계속 회전한다. 내가 뭘 놓치고있어?
편집 :
나는 View Orientation에서 논의 된 접근 방식을 사용했습니다. 내보기 컨트롤러에 대해 작동합니다. 정적 UITableViewController
은 스택이 꽂혀 : 여기
this.PresentViewController (new UINavigationController(myStaticTableViewController), true, null);
UINavigationController
의 표준 구현이 사용된다. 또한
partial class CustomNavigationController : UINavigationController
{
public CustomNavigationController (IntPtr handle) : base (handle)
{
}
public override bool ShouldAutorotate()
{
return TopViewController.ShouldAutorotate();
}
public override UIInterfaceOrientation PreferredInterfaceOrientationForPresentation()
{
return TopViewController.PreferredInterfaceOrientationForPresentation();
}
}
를 구현하는 내 CustomNavigationController
그것을 시도했지만이 IntPtr
내 테이블 뷰 컨트롤러를 변환 할 수 없기 때문에 나는이
this.PresentViewController (new CustomNavigationController(myStaticTableViewController), true, null);
처럼 뭔가를 할 수 없습니다. 아마도 이것이 인터페이스 방향을 따르지 않는 이유 일 것입니다. 내가 가진 해결책은 무엇입니까?