Iphone UINavigationBar下的UISegmentedControl,不滚动
好吧,我已经解决了这个问题一天左右了,这在新的iOS开发者中似乎是一个相当普遍的问题。然而,ive搜索google、appledev、堆栈溢出等 然而,我很难找到正确的解决办法。没有明确的答案 我需要分段控件来更改tabledata源或完全显示新视图,两者都可以 目前,我有一个变通解决方案,我把分段控件放在一个表格标题中,这样可以很好地工作,但我不希望分段控件与表格单元格一起滚动 我试着让它静态和不可滚动,就像导航栏一样 我在interface builder中尝试了一些选项,但它们都不起作用,要么它们不显示,要么我因为找不到表视图而崩溃 尽管如此,我知道这与将视图放入视图中有关 如果有人有空写一本快速而详细的指南,我将非常感谢 编辑 尝试1: 在IB 看法 ->Tableview(父视图中的Tableview) 创建此错误Iphone UINavigationBar下的UISegmentedControl,不滚动,iphone,objective-c,cocoa-touch,uinavigationbar,uisegmentedcontrol,Iphone,Objective C,Cocoa Touch,Uinavigationbar,Uisegmentedcontrol,好吧,我已经解决了这个问题一天左右了,这在新的iOS开发者中似乎是一个相当普遍的问题。然而,ive搜索google、appledev、堆栈溢出等 然而,我很难找到正确的解决办法。没有明确的答案 我需要分段控件来更改tabledata源或完全显示新视图,两者都可以 目前,我有一个变通解决方案,我把分段控件放在一个表格标题中,这样可以很好地工作,但我不希望分段控件与表格单元格一起滚动 我试着让它静态和不可滚动,就像导航栏一样 我在interface builder中尝试了一些选项,但它们都不起作用,
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "EventsViewController" nib but didn't get a UITableView.'
首先,您需要一个控制器,其中包含分段控件、表视图和其他要添加的元素。 由于应用程序只有一个控制器,因此分段控件中的任何更改都可以在其中捕获。捕获事件后,您可以通过更新tableview或加载新视图来决定是重新加载tableview 此新视图也可以作为模式视图、导航控件的新视图或当前视图的子视图加载。(电话留给你) 优点是分段控件和表视图将是UIView的一部分,滚动视图不会将分段视图滚动到看不见的地方。另一个优点是新视图将加载到当前视图的顶部。可以使用委托方法来处理新视图上的back press事件。您还可以将数据从新视图获取到单个控制器
UIView
--- Segmented control(you can wrap this into a seperate UIView
--- UITableView (it can also be wrapped into a seperate uiview )
--- Other widgets
现在,您可以使用一个视图控制器来控制上述主视图。希望这对你有帮助。我在我的一个应用程序中使用了类似的方法。您可以做的是使用分段控件基本上更改表数据源。基本上,将命中任一段的操作设置为
[myTableView重载数据]代码>。然后,在数据源方法中,添加一些if语句。例如,在numberOfRowsInSection下,说:如果(mySegmentedControl.selectedSegmentIndex=1)
//第二个按钮,使用此数组。明白我的意思吗?
通过这种方式,您可以使用一个视图控制器来处理两个(实际上是一个)表。我试图做的是阻止分段控件与表一起滚动:S