在iOS 7中,有没有办法在选项卡栏上显示图像?

在iOS 7中,有没有办法在选项卡栏上显示图像?,ios,ios7,uiimageview,uitabbarcontroller,uitabbar,Ios,Ios7,Uiimageview,Uitabbarcontroller,Uitabbar,我正在寻找在选项卡栏上显示静态图像的方法?图像不会覆盖整个选项卡栏,而只是其中的一部分。但我仍然希望能够使用标签 我想做这样的事情。我可以在标签栏中获取图像,但是我想在图片栏上显示像中间的图像: 使用图像分配UIImageView,并将其直接添加到选项卡栏上方的Appdelegate窗口中。在将ImageView添加到窗口之前,请确保禁用它的用户交互 [imageView setFrame:CGRectMake(0,380,50,50)]; [appDelegateWindow addSubVi

我正在寻找在选项卡栏上显示静态图像的方法?图像不会覆盖整个选项卡栏,而只是其中的一部分。但我仍然希望能够使用标签

我想做这样的事情。我可以在标签栏中获取图像,但是我想在图片栏上显示像中间的图像:


使用图像分配UIImageView,并将其直接添加到选项卡栏上方的Appdelegate窗口中。在将ImageView添加到窗口之前,请确保禁用它的用户交互

[imageView setFrame:CGRectMake(0,380,50,50)];
[appDelegateWindow addSubView:imageView];
它将出现在选项卡栏上,而不采取任何行动

更新:

从appDelegate获取窗口

Appdelegate *appDelegate = ((Appdelegate*)[UIApplication sharedApplication]).delegate;
UIWindow *appDelegateWindow = appDelegate.window;
然后分配图像视图

UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];
[imageView sizeToFit];
设置imageview的框架并将其添加到窗口中

[imageView setFrame:CGRectMake(0,380,50,50)];
[appDelegateWindow addSubView:imageView];

使用图像分配UIImageView,并将其直接添加到选项卡栏上方的Appdelegate窗口中。在将ImageView添加到窗口之前,请确保禁用它的用户交互

[imageView setFrame:CGRectMake(0,380,50,50)];
[appDelegateWindow addSubView:imageView];
它将出现在选项卡栏上,而不采取任何行动

更新:

从appDelegate获取窗口

Appdelegate *appDelegate = ((Appdelegate*)[UIApplication sharedApplication]).delegate;
UIWindow *appDelegateWindow = appDelegate.window;
然后分配图像视图

UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];
[imageView sizeToFit];
设置imageview的框架并将其添加到窗口中

[imageView setFrame:CGRectMake(0,380,50,50)];
[appDelegateWindow addSubView:imageView];

您可以在AppDelegate.m中执行类似操作:

这是模拟器中的结果:


您可以在AppDelegate.m中执行类似操作:

这是模拟器中的结果:



是否要在选定的tabbaritem上设置静态图像?否,我只想在显示选项卡栏的所有时间显示静态图像。它将没有任何功能。我希望我的答案能帮助你。@Cedric如果你想像Gebriel.Masaana的屏幕截图一样将Tabbar和图像结合在一起,那么我建议你按照他的答案做。我添加了一张我希望做的图像。希望这有助于您理解。是否要在选定的tabbaritem上设置静态图像?不,我只想在显示选项卡栏的所有时间显示它。它将没有任何功能。我希望我的答案能帮助你。@Cedric如果你想像Gebriel.Masaana的屏幕截图一样将Tabbar和图像结合在一起,那么我建议你按照他的答案做。我添加了一张我希望做的图像。希望这有助于您理解。是否需要在每个UIViewController中执行此操作?或者是否有其他方法将其添加到“应用程序代理”窗口?您不需要对每个视图控制器进行设置。您正在将其添加到选项卡栏的子视图中。它会显示你在哪个标签上的标签。我已经试过几次了。。。您建议我在哪里实施您的解决方案?我找到了解决方案,效果很好。我是在viewDidLoad方法中实现的,而不是在UITabBarController子类中出现的viewDidAppear。感谢您的帮助。是否需要在每个UIViewController中执行此操作?或者是否有其他方法将其添加到“应用程序代理”窗口?您不需要对每个视图控制器进行设置。您正在将其添加到选项卡栏的子视图中。它会显示你在哪个标签上的标签。我已经试过几次了。。。您建议我在哪里实施您的解决方案?我找到了解决方案,效果很好。我是在viewDidLoad方法中实现的,而不是在UITabBarController子类中出现的viewDidAppear。感谢您的帮助。您也可以使用insertSubview:atIndex:with index=0,而不是sendSubviewToBack。此外,看起来示例中的图像已被剪裁。如果希望它显示在选项卡栏的边界之外,则可以设置clipsToBounds=NO。也可以使用insertSubview:atIndex:with index=0,而不是sendSubviewToBack。此外,看起来示例中的图像已被剪裁。如果希望它显示在选项卡栏的边界之外,则可以设置clipsToBounds=NO。