问题描述
我的应用程序中有一个标签页,在android上看起来很棒-输入了图标(没有文本,只有图标),而且看起来不错。
在iOS上,我的标签栏位于底部(很好),但是将图标向右按在标签栏顶部。因此,它们下方有大量空间,但它们位于顶部的边缘。好吧,至少有两个是。另外两个由于图像设计的原因,为两个像素内置了图像填充,并且触感较低。但这不重要。
如何仅在iOS上如何在标签页图标上设置一些填充?还是居中?
解决方法
您可以使用自定义渲染器将图标居中。
[assembly: ExportRenderer(typeof(TabbedPage),typeof(CustomTabbedPageRenderer))]
namespace TabbedPageWithNavigationPage.iOS
{
class CustomTabbedPageRenderer : TabbedRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
}
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var tabBarItems = TabBar.Items;
tabBarItems[0].ImageInsets = new UIEdgeInsets(6,-6,0);
tabBarItems[1].ImageInsets = new UIEdgeInsets(6,0);
tabBarItems[2].ImageInsets = new UIEdgeInsets(6,0);
}
}
}