iPhone sdk如何使用分段控件显示的两个不同视图设置视图方向

Posted

技术标签:

【中文标题】iPhone sdk如何使用分段控件显示的两个不同视图设置视图方向【英文标题】:iPhone sdk how to set view orientation with two different views displayed by segmented control 【发布时间】:2011-01-18 22:15:10 【问题描述】:

我正在使用一个有两个段的分段控件。

当第 1 段被按下时,我会显示一个视图,其中包含一个我不想要横向的 tableview,只想要纵向。 按下段 2 时,我会显示一个不同的视图,我希望允许横向显示该视图。

所以,我正在使用以下代码:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

   if (self.view == self.myFirstView)
      return false;
   else if (self.view == self.mySecondView)
      return true;

这一切都很好,除了以下情况:如果用户选择段 2,然后旋转手机,视图进入横向模式。然后,在仍然以横向模式握住手机的同时,用户按下段 1。这会以横向模式显示第一个视图(我只希望此视图以纵向模式显示)。

那么,问题是,如何显示第一个视图,但将视图方向重置为纵向?

有什么想法吗?

【问题讨论】:

您想使用设备方向来设置纵向/横向以及您的分段控件吗?似乎您提供了多种设置方向的方法,这会使用户感到困惑,而且您似乎也是;-) 我没有提供多种设置方向的方法。我只是允许 1 个视图以横向和纵向模式显示,1 个视图仅以纵向模式显示。对我来说似乎是一个简单的概念。 我想你可能对我在做什么感到困惑。我的分段控件不显示任何特定方向。我的分段控件根据单击的分段显示 2 个视图中的 1 个。视图 1 不支持横向,但视图 2 支持(它们都支持纵向) 我没有手动更改方向,所以不应该被任何东西混淆。问题是......当用户选择 View 2 并倾斜手机进入横向模式,然后选择 View 1,我的 View 1 以横向模式显示(我不想要)。 【参考方案1】:

在view1中,获取方向,如果是横向则切换为纵向。

【讨论】:

以上是关于iPhone sdk如何使用分段控件显示的两个不同视图设置视图方向的主要内容,如果未能解决你的问题,请参考以下文章

如何用LabVIEW控件实现双柱状图显示?

在 iphone sdk 的单行上对齐两个不同的文本

如何在单个视图中处理多个分段控件的事件

如何使用分段控件显示 plist 中的所有类别?

iPhone SDK - 这个控件是啥?是习俗吗?

iPhone分段控制分接