如何在 iOS 中像 UITabBarItem 一样设计 UIButton?

Posted

技术标签:

【中文标题】如何在 iOS 中像 UITabBarItem 一样设计 UIButton?【英文标题】:How to design UIButton Like UITabBarItem in iOS? 【发布时间】:2015-12-21 03:42:05 【问题描述】:

我必须在特定屏幕的底部放置 6 个按钮,例如 UITabBar。我已将 UIButton 与图像和文本一起放置,但无法将图像移动到居中对齐的按钮顶部,并将按钮文本放在居中对齐的图像下方。它应该看起来像UITabBarItem

如何在UIButton 中实现这一点?任何人都可以请帮助我吗?谢谢。

我尝试了此代码,但文本不可见且图像未正确对齐。你能帮帮我吗?

[self.languageButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self.languageButton setTitle:@"Language" forState:UIControlStateNormal];
[self.languageButton.titleLabel setFont:[UIFont boldSystemFontOfSize:10.0]];

UIImage *image = [UIImage imageNamed:@"lang_change_white"];

[self.languageButton setTitleEdgeInsets:UIEdgeInsetsMake(0.0, -image.size.width, -25.0, 0.0)];
[self.languageButton setImage:image forState:UIControlStateNormal];
[self.languageButton setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, -self.languageButton.titleLabel.bounds.size.width)];

提前致谢。

【问题讨论】:

【参考方案1】:

    您的代码对我来说工作正常,那么有什么问题? 请用按钮的图像和文字说明您想要什么..?

【讨论】:

感谢您的回答。但是,这不像你的屏幕截图那样工作。我在 Storyboard 中设计了按钮,大小为“动态宽度和固定高度 50px”。我附上了屏幕截图。你能帮帮我吗?谢谢。 我在情节提要中用“动态宽度和固定高度 50px”检查它对我来说很好。所以请检查一下图像大小。如果它很大,那么就会产生这种类型的问题。谢谢@Yuvaraj.M 感谢您的回复。我的图像尺寸是 32*32。你的是什么?我尝试调整按钮中的图像大小。如果你有任何想法可以请你建议吗?谢谢。【参考方案2】:

您必须制作 2 个特殊的 image,其中包含 symboltext。一张图片是白色图片,第二张是图片的任何color。当用户按下button 时,将background 图像设置为您的color 图像并将初始image 设置为白色color image

【讨论】:

以上是关于如何在 iOS 中像 UITabBarItem 一样设计 UIButton?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 4 中更改 UITabBarItem 中文本的颜色

如何在 iOS 11 中像点击状态栏一样调用缓慢滚动到顶部的动画?

UITabBar 在 iOS7 上更改一个 UITabBarItem 的背景颜色

iOS 11 中的横向 UITabBar 中的 UITabBarItem

iOS:给标签栏控制器的UITabbarItem添加点击动效

如何更改标准 UITabBarItem 上的文本“更多”