操作表IOS中的分段控制

时间:2015-07-23 11:55:51

标签: ios uisegmentedcontrol uiactionsheet custom-view uialertcontroller

我试图在动作表中添加分段控件,就像苹果地图应用程序使用的那样。enter image description here

我找到了一种在动作表视图中添加为子视图的方法,但这不是apple推荐的。我在某处发现了以下评论。

  

您可能需要小心这一点。 Apple可能不喜欢它。从文档:" UIActionSheet不是设计为子类,也不应该为其层次结构添加视图。如果您需要提供比UIActionSheet API提供的更多自定义的工作表,您可以创建自己的工作表并使用presentViewController以模态方式呈现它:animated:。完成:。" - Eric Goldberg 3月4日14点2点28分

任何人都可以建议我实现这一目标。

2 个答案:

答案 0 :(得分:3)

我也一直试图解决这个问题。线索在左下角 - 线条不会一直到左边缘。它实际上是一个UITableView,行之间的间隙实际上是具有自定义大小的空白部分标题。

我还没有完全实现它,但重要的是:

  1. 在storyboard中创建一个新的UIViewController。
  2. 在ViewController属性选择器中将Presentation设置为Over Current Context
  3. 在视图中,将Background更改为Clear Color
  4. 添加UITableView。设置左,右和右约束。设置TableView的高度,使其仅覆盖View的下半部分
  5. Style更改为Grouped
  6. 与基于普通原型的TableView
  7. 一样实现委托
  8. 从操作按钮为ViewController创建一个segue,并将Segue设置为Present Modally

答案 1 :(得分:2)

根本不是UIActionSheet。这是使用自定义1UIPresentationController1和UIViewController呈现的transitionDelegate。它很容易辨别,因为它占据了条形,并且与UIActionSheet没有相同的风格。

您可以简单地创建自己的viewController来管理您想要的视图,然后使用iOS7中的新自定义转换API来呈现它。

以下是一些帮助您入门的资源。

  

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPresentationController_class/

     

https://developer.apple.com/library/ios/samplecode/LookInside/Introduction/Intro.html

     

http://www.raywenderlich.com/96062/custom-view-controller-presentation-transitions-swift

     

http://www.teehanlax.com/blog/custom-uiviewcontroller-transitions/