我的iphone应用程序中有4个选项卡.当用户单击选项卡-1中的按钮时,我想将用户移动/切换到另一个选项卡,例如tab-2.
怎么做?
当用户点击tabbaritem进入uitabbarcontroller更改某些内容时,我需要检索..这是我的代码:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if (item == [tabBarController.tabBar.items objectAtIndex:2]) {
item.title = @"add shot";
}
else
{
item.title = @"Race";
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
self.tabBarController.tabBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
我收到一个sigkill ......
什么是正确的解决方案?提前致谢
我目前正在使用Xcode 4.6.3.我在项目中使用了故事板.故事板内部是一个标签栏控制器和两个表视图控制器.我有标签栏控制器作为根视图,我通过"关系segue - 视图控制器"将它与两个表视图控制器连接起来.
我遇到的主要问题是我似乎无法选择故事板中的标签栏项目,以便我可以更改该标签栏的名称和图像.当我单击选项卡栏时,其属性不会出现在我的检查器视图中,或者至少,我没有看到标题和图像的任何属性.我只看到了这一点

我通过在线阅读教程,只需单击标签栏项以显示属性,即可轻松更改标签栏项的标题和图像.这是我的Xcode版本的问题吗?
对于以前版本的iOS 7,我需要在UITabBarItem两个设置上移动标题和图像(通常是图标)的位置.
myViewController.tabBarItem.imageInsets = UIEdgeInsetsMake(0, -15, 0, 15);
myViewController.tabBarItem.titlePositionAdjustment = UIOffsetMake(-15, 0);
然而,这引入了自iOS 7.1更新以来图像的插入大小的两倍.以下是基于我的发现的答案.
各位,我正在尝试自定义UITabBar,但问题是当我在UITabBar.background中设置简单的绿色背景颜色时,结果不足.就像背景上的东西一样.这里看起来像:

UITabBarController是在storyboard中创建的,但我在代码中设置了背景颜色.这是appDelegate:
TabBarController* bc=(TabBarController*)self.window.rootViewController;
bc.tabBar.backgroundColor=[UIColor greenColor];
Run Code Online (Sandbox Code Playgroud)
如果我在背景和物品上设置图片 - 它们几乎看不见.我试过在故事板的右边栏上玩色彩,但都没用.
我已将Storyboard选项卡栏项目设置为自定义,将图像设置为我的轮廓图像,将选定图像设置为我填充的图像,但是当我运行应用程序时,所选图像不会显示.
如果我以编程方式使用创建标签栏项,它可以工作
UITabBarItem(title: String?, image: UIImage?, selectedImage: UIImage?)
我使用Xcode 6.1.1.
有什么不对?
我的非常简单的应用程序遇到了麻烦。
我的应用程序只有两个主要内容,UIViewControllers称为新闻和类别,每个都有自己的UINavigationController.
所以在AppDelegate.swift,我这样做了
window = UIWindow(frame: UIScreen.main.bounds)
let tabBarController = UITabBarController()
let newsVC = NewsVC()
// CREATE TAB BAR ITEM WITH TITLE ONLY
let newsVCTabBarItem = UITabBarItem(title: "News", image: nil, tag: 1)
newsVC.tabBarItem = newsVCTabBarItem
let categoryVC = CategoryVC()
// CREATE TAB BAR ITEM WITH TITLE ONLY
let categoryVCTabBarItem = UITabBarItem(title: "Category", image: nil, tag: 2)
categoryVC.tabBarItem = categoryVCTabBarItem
let rootViewControllers = [newsVC, categoryVC]
// CREATE NAVIGATION CONTROLLER FOR EACH OF THEM
tabBarController.viewControllers = …Run Code Online (Sandbox Code Playgroud) Apple提供了一个View Controller Programming Guide的示例,用于创建UITabBarItem,如下所示:
- (id)init {
if (self = [super initWithNibName:@"MyViewController" bundle:nil]) {
self.title = @"My View Controller";
UIImage* anImage = [UIImage imageNamed:@"MyViewControllerImage.png"];
UITabBarItem* theItem = [[UITabBarItem alloc] initWithTitle:@"Home" image:anImage tag:0];
self.tabBarItem = theItem;
[theItem release];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
但是,我是一个平面菜鸟,想要使用Apple的内置图形用于Tab Bar项目.我怎么能这样做?可用图标及其名称的列表在哪里?
我试图通过下面的代码更改选项卡项目的标题,在该代码中我必须在awakeFormNib()中编写该代码,但是由于某些情况,我必须在viewdidLoad()中更改标题。我正在使用Swift。
override func awakeFromNib() {
self.title = NSLocalizedString("Hello World", tableName: "xxx", comment: "");
}
Run Code Online (Sandbox Code Playgroud) uitabbaritem ×10
ios ×6
uitabbar ×4
objective-c ×3
iphone ×2
ios10 ×1
ios7.1 ×1
storyboard ×1
swift ×1
xcode ×1
xcode4.6.3 ×1