带文本和图像的UIBarButtonItem - iOS 8

时间:2015-03-23 09:23:00

标签: ios xamarin.ios

在阅读前查看更新

我想在iOS 8应用的工具栏中放置一个按钮。该按钮需要具有图像和文本。

这看起来像标准的事情,标准的Apple应用程序有很多例子。请参阅“时刻”及其照片,共享和相册

我看到很多关于是否可以做到的问题。有人说没有其他人说你需要自定义视图。自定义?真?对于正常的事情。

尝试设置标题和图片,但标题不显示

var customImageBarButtonItem = new UIBarButtonItem (UIImage.FromBundle ("tools_icon"), UIBarButtonItemStyle.Plain, OnBarButtonItemClicked);
                customImageBarButtonItem.TintColor = ApplicationColors.Purple;
                customImageBarButtonItem.Title = "Caption";
                return customImageBarButtonItem;

我正在使用Xamarin.iOS

更新

我已经在Xamarin Forums post中向我指出,我认为iOS Moments应用程序中的ToolBar按钮实际上是一个Tab Bar,它们支持开箱即用的文本和图像

1 个答案:

答案 0 :(得分:2)

当他们说你必须创建一个自定义视图时,它们可能意味着它就像创建一个UIButton一样简单,图像左侧是图像和文本,并将其用作&# 34;自定义视图"为您的UIBarButtonItem。从技术上讲,UIButton是一个View,因为它继承自UIView,因此您可以将其用作自定义视图。

//Create a UIButton with an image on the left, and text to the right
var buttonImage = UIImage.FromBundle("tools_icon");
var button = new UIButton(UIButtonType.Custom)
{
     Frame = new CGRect(0, 0, 120, 33) //You may need to adjust as necessary
}
;
button.SetImage(buttonImage, UIControlState.Normal);
button.SetTitle("Caption", UIControlState.Normal);
button.SetTitleColor(UIColor.Black, UIControlState.Normal);

//create a UIBarButtonItem with a UIButton as the custom view.
var barButtonItem = new UIBarButtonItem(button);
NavigationItem.RightBarButtonItem = barButtonItem;

根据" tools_icon"的大小,您可能需要进行任何必要的调整,但按钮框的宽度必须足够长,以包含图像图标和文本。