Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
uiTabBar-用于菜单而不是视图控制?(iPhone)_Iphone_Uitabbarcontroller - Fatal编程技术网

uiTabBar-用于菜单而不是视图控制?(iPhone)

uiTabBar-用于菜单而不是视图控制?(iPhone),iphone,uitabbarcontroller,Iphone,Uitabbarcontroller,快速提问-我有我的“第一视图”,这将是我的应用程序中唯一的视图。我已经使用Interface Builder向该视图添加了一个UITabBar。我只是想用它作为一个菜单来控制滚动视图的内容 例如,用户单击UITabBar中的第一个图标-我得到它的标记,然后在此基础上,将向scrollview添加一个子视图。这工作正常 …但是,我一直在查看一些选项卡栏上的教程,似乎99%的时间它们都用于控制视图。我只是想让它返回我的标签 所以我的问题是:我所做的一切还好吗??它是否可以用于简单地返回值而不是更改视

快速提问-我有我的“第一视图”,这将是我的应用程序中唯一的视图。我已经使用Interface Builder向该视图添加了一个UITabBar。我只是想用它作为一个菜单来控制滚动视图的内容

例如,用户单击UITabBar中的第一个图标-我得到它的标记,然后在此基础上,将向scrollview添加一个子视图。这工作正常

…但是,我一直在查看一些选项卡栏上的教程,似乎99%的时间它们都用于控制视图。我只是想让它返回我的标签

所以我的问题是:我所做的一切还好吗??它是否可以用于简单地返回值而不是更改视图?如果这是常见的/正常的做法,我究竟该如何引用它

我可以获得selected item标记,但实际上无法引用uiTabBar来选择第一个按钮。在我的.h文件中,我试图为控制器指定一个IBOutlet,但无法在IB中链接它


谢谢你提供的任何信息

要接收已单击选项卡栏项目的通知,您需要修改视图控制器以实现协议并为选项卡栏添加出口。为此,请将MyViewController.h中的声明修改为如下内容:

@interface MyViewController : UIViewController <UITabBarDelegate> {
    UITabBar *tabBar;
    ...
}

@property (nonatomic, assign) IBOutlet UITabBar *tabBar;
还必须将视图控制器设置为IB中选项卡栏的代理(提示:将“代理”出口从选项卡栏连接到文件所有者)

要从视图控制器访问选项卡栏,请使用
tabBar
属性并执行以下操作:

self.tabBar.selectedItem = [self.tabBar.items objectAtIndex:0];

至于这是否是个好主意,为什么不呢?所有教程都显示了一个选项卡栏,该选项卡栏与UITabBarContoller一起用于切换视图,但它也是作为独立控件设计的。只要您没有违反任何HIG规则,那么如何实现界面切换就取决于您。

非常有效-谢谢!正是objectAtIndex导致了它的失败。我也试过UITabBarDelegate线路,但已将其删除。非常感谢:)
self.tabBar.selectedItem = [self.tabBar.items objectAtIndex:0];