Objective c 使用UITableViewController在导航栏下方添加UISegmentedControl

Objective c 使用UITableViewController在导航栏下方添加UISegmentedControl,objective-c,uinavigationbar,uisegmentedcontrol,uisearchdisplaycontroller,Objective C,Uinavigationbar,Uisegmentedcontrol,Uisearchdisplaycontroller,我必须实现以下布局: 为此,我有以下限制: 导航栏应该是系统的,因为其他的仿制品看起来都很难看 UISegmentedControl应该放在导航栏中 分段控件应置于导航按钮下方 我必须使用UISearchDisplayController来获得系统默认的搜索外观 要使UISearchDisplayController工作,我必须使用UITableViewController,因为它不能与简单的UIViewController一起工作 我已经找到了几种类似的解决方案(),但它们要么使用UIT

我必须实现以下布局:

为此,我有以下限制:

  • 导航栏应该是系统的,因为其他的仿制品看起来都很难看
  • UISegmentedControl应该放在导航栏中
  • 分段控件应置于导航按钮下方
  • 我必须使用UISearchDisplayController来获得系统默认的搜索外观
  • 要使UISearchDisplayController工作,我必须使用UITableViewController,因为它不能与简单的UIViewController一起工作
我已经找到了几种类似的解决方案(),但它们要么使用
UIToolbar
/
UIView
(我无法将其添加到我的控制器中,因为所有
UITableViewController
都有一个滚动视图),要么使用黑客系统导航栏(按钮要么与底部对齐,要么使用私有iOS框架,我们知道这是一个禁果)。我还尝试将分段控件添加到
tableHeaderView
,但它被搜索栏使用


这可能吗?

这是可能的。苹果在App Store中做到了这一点。我们也在研究如何做到这一点。苹果在App Store中进行了一次令人讨厌的黑客攻击。只要看看当你缓慢地做回刷手势时,它的表现就知道了。