【问题标题】:Is it possible to use a Segmented Control to change the view?是否可以使用分段控件来更改视图?
【发布时间】:2011-02-06 08:59:37
【问题描述】:

我想使用分段控件而不是 UITabBar 控制器来更改视图。这符合HIG吗?

如果是,我该怎么做?我应该为我的项目使用什么模板以及什么代码?

【问题讨论】:

    标签: objective-c iphone uisegmentedcontrol hig


    【解决方案1】:

    我就是这样做的:

    -(IBAction)segmentedControlIndexChanged{
    switch (self.segmentedControl1.selectedSegmentIndex) {
        case 0:
            [details1 removeFromSuperview];
            [details2 removeFromSuperview];
            [details3 removeFromSuperview];
            [details addSubview:details0];
            break;
        case 1:
            [details2 removeFromSuperview];
            [details0 removeFromSuperview];
            [details3 removeFromSuperview];
            [details addSubview:details1];
            break;
        case 2:
            [details0 removeFromSuperview];
            [details1 removeFromSuperview];
            [details3 removeFromSuperview];
            [details addSubview:details2];
            break;
        case 3:
            [details0 removeFromSuperview];
            [details1 removeFromSuperview];
            [details2 removeFromSuperview];
            [details addSubview:details3];
            break;
        default:
            break;
    }
    }
    

    确保将 IB 中分段控件的 valueChanged 方法绑定到此 IBAction。

    【讨论】:

    • 很好的解决方案,但这并不能很好地扩展——有没有更优雅的方法?
    • 您可以简单地在数组中的切换视图和分段控件的选定索引之间创建关联。然后使用分段视图方法,您可以控制视图的切换。
    【解决方案2】:

    有几个 Apple 应用程序使用分段控件来更改视图:iTunes、App Store 应用程序和 YouTube 应用程序。但是,它们都在屏幕顶部使用它,并与分段控件结合使用。地图应用程序在屏幕底部使用了一个,但这个想法与标签栏不同。日历应用也使用一个,用于列表、日和月视图(在底部的工具栏中)。

    我认为经验法则是,如果您提供相同类型数据的不同视图,则可以使用分段控件。如果您显示的内容不相关,则应使用标签栏。您可能不会因为使用分段控件而拒绝应用程序,但如果您以非标准方式使用它,用户会有点困惑。

    我不确定示例代码,我能看到的最接近的是“热门歌曲”示例。这不会交换视图,它只是在单击片段时更改FetchedResultsController

    这是关于 SO 的另一个几乎相同的问题:

    How do I use a UISegmentedControl to switch views?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      相关资源
      最近更新 更多