Xamarin构成iOS,如何自定义导航栏?

时间:2016-08-02 10:09:31

标签: xamarin xamarin.ios customization

我正在处理一个项目,我们已经以这种方式为android定制了actionbar:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:paddingRight="5dp"
    android:paddingTop="5dip"
    android:paddingBottom="5dip">
    <ImageView
        android:id="@+id/ImgSmallC"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:src="@drawable/smallC"
        android:background="@drawable/back"
        android:paddingRight="10dip"
        android:paddingLeft="10dip"
        android:layout_marginRight="25dp" />
    <FrameLayout
        android:id="@+id/LayoutProvider"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_toRightOf="@id/ImgSmallC">
        <TextView
            android:id="@+id/txtProvider"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:textSize="20dip"
            android:textColor="#c6c6c6"
            android:paddingRight="35dip"
            android:paddingLeft="10dip"
            android:background="@drawable/back"
            android:text="Test"
            android:layout_gravity="right"
            android:gravity="center_vertical" />
        <ImageView
            android:id="@+id/imgArrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/dropdown"
            android:layout_marginRight="5dp"
            android:layout_gravity="center_vertical|right" />
    </FrameLayout>
</RelativeLayout>

这里是定义的图像,位于中心,文本与图像合并,因此它们看起来像按钮。我还在C#代码中实现了一些逻辑,我们将这个.axml文件用作布局:

LayoutInflater inflater = (LayoutInflater)ActionBar.ThemedContext.GetSystemService(LayoutInflaterService);
View customActionBarView = inflater.Inflate(Resource.Layout.actionbar_custom_view_done, null);  

如何在iOS项目中执行相同的操作?据我所知,iOS没有.axml文件,因为它们是特定的android文件。我试图找到文档示例,如何为iOS导航栏编写自定义布局,但遗憾的是我没有找到任何东西。我想使用与我在C#代码逻辑中提到的相同的iOS布局。

1 个答案:

答案 0 :(得分:1)

<? aka导航允许在iOS中进行非常少的自定义

您可以在此处找到我们网站的详细文档:https://developer.xamarin.com/recipes/ios/content_controls/navigation_controller/