2013-01-08 47 views
2

我有一个UIViewController具有两个部分:的UIViewController在UIViewController中超过了界限

  • 一个UIView

  • 棒在顶部

  • 具有多个下拉水平设置菜单和具有缩略图图像

由于第二部分有点复杂,我决定它是一个UIViewController但现在我有一些担心:

  • 因为我有下拉菜单,菜单将超出栏的范围。我该如何处理?

  • 难道在UIViewController内有UIViewController的好方法吗?

  • 如何实现下拉菜单?据我所知,IOS没有下拉菜单。

回答

1

要在另一个控制器中使用控制器,请使用自定义容器视图控制器。

  • 视图控制器编程指南适用于iOS的Creating Custom Container View Controllers部分。

  • 另请参阅UIViewController类参考的相应Implementing a Container Controller部分。

  • 另请参阅WWDC 2011的视频,Implementing UIViewController Containment

  • 在iOS 6中,您可以设置集装箱意见故事板,可自动采用嵌入塞格斯,从需要显式调用addChildViewController等的节省您的,如果你使用故事板。在Interface Builder中查看“容器视图”对象。如果您要更改子控制器,则必须使用上述链接中提到的API,但对于第一个子项的配置,您可以在iOS 6中的Interface Builder中进行设置。

0

在这种情况下,设置控制器遏制可能是正确的方法。唯一的限制是它适用于iOS 5及更高版本。

在这里,你必须做的:

// add as child VC 
[self addChildViewController:_barViewController]; 

// add it to container view, calls willMoveToParentViewController for us 
[_containerView addSubview:_barViewController.view]; 

// notify it that move is done 
[_barViewController didMoveToParentViewController:self]; 

在这里,你可以找到更多的信息Containing ViewControllers。明显的Apple文档是你的朋友。另外,如果你搜索“uiviewcontroller containment”,你可以在那里找到很多东西。

如果您的应用需要定位iOS 5不是最小的设备,则应该依靠UIViewController和两个不同的视图。

0

关于下拉菜单,在我看来,它们不适用于触摸界面。有一些替代方案,例如UISegmentedControl类的实例。在这里,您可以阅读关于分段控制的Apple UI设计指南:http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UIElementGuidelines/UIElementGuidelines.html#//apple_ref/doc/uid/TP40006556-CH13-SW1。如果您更多地解释您所需的UI功能,我们可以从用户体验角度为您提供更好的选择。

如果你坚持使用下拉菜单,那里有一些第三方控制库;例如:http://www.cocoacontrols.com/