带有图像和动态文本“下方”的 UITool 栏按钮

Posted

技术标签:

【中文标题】带有图像和动态文本“下方”的 UITool 栏按钮【英文标题】:UITool bar button with image and dynamic text "Below" it 【发布时间】:2014-05-20 11:34:43 【问题描述】:

我想在UIToolbar 上实现一个按钮,上面有“Image”,下面有文字。

我使用了以下代码:

UIButton* customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setImage:[UIImage imageNamed:@"search2.png"] forState:UIControlStateNormal];
[customButton setTitle:@"Categorie" forState:UIControlStateNormal];
[customButton sizeToFit];
UIBarButtonItem* cataBtn = [[UIBarButtonItem alloc] initWithCustomView:customButton];initWithCustomView:customButton];
cataBtn 

但它显示的结果如下:

我应该如何自定义它以使图像在顶部和文本在其下方?

我不想使用包含图片和文本的单个图像,因为文本是动态变化的。

【问题讨论】:

【参考方案1】:

你需要设置边缘插入

customButton.titleEdgeInsets = UIEdgeInsetsMake(0, -60, -30, 0);
customButton.imageEdgeInsets = UIEdgeInsetsMake(-15, 0 , 0, 0); // give some space for text

【讨论】:

没关系,但另一个问题是之前调用的popOver现在无法显示。有什么解决方法吗? [searchpopoverController presentPopoverFromBarButtonItem:sender allowedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 设置 contentEdgeInsets 无论如何都不应该影响弹出框。使用 popovercontroller 代码更新您的问题。 是的,你说得对,问题是 popOver 控制器没有获取 UIBarButtonItem。任何方式我已经解决它如下。可能有人稍后会需要它===> NSArray *toolBarItems = [toolbarObj items];[searchpopoverController presentPopoverFromBarButtonItem:[toolBarItems objectAtIndex:2] allowedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

以上是关于带有图像和动态文本“下方”的 UITool 栏按钮的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 如何在图像下方使用带有图像和文本/图标的容器小部件

内容下方的导航栏

带有文本上方和下方图标的按钮

添加带有文本的滑动单元格按钮(在其下方)

导航栏按钮单击事件在单击其下方区域时触发。

在 winforms 中创建动态 UI