【发布时间】:2011-11-29 10:12:06
【问题描述】:
我对 UINavigationBar 进行了子类化。 NavigationBar 有两个 UIBarButtonItem 类型的按钮。可以移动这些按钮吗?例如,我想将“左键”向右移动 50 像素,“右键”向左移动 50 像素。
LayoutSubViews 是移动这些按钮的正确位置吗?
这是 NavigationBar 类(在 MT 中创建):
[MonoTouch.Foundation.Register("NavigationBar")]
public class NavigationBar : UINavigationBar
{
public NavigationBar (IntPtr handle) : base (handle)
{
Initialize ();
}
[Export ("initWithCoder:")]
public NavigationBar (NSCoder coder) : base (coder)
{
Initialize ();
}
public NavigationBar(RectangleF frame, string title) : base (frame)
{
InitializeWithStyleAndTitle(title);
}
void Initialize() { }
void InitializeWithStyleAndTitle(string title)
{
//- title
UINavigationItem navItem = new UINavigationItem(title);
//- left button
UIBarButtonItem leftBarButtonItem = new UIBarButtonItem("back", UIBarButtonItemStyle.Plain, this, new Selector("backAction"));
navItem.LeftBarButtonItem = leftBarButtonItem;
//- right button
UIBarButtonItem rightBarButtonItem = new UIBarButtonItem("update", UIBarButtonItemStyle.Plain, this, new Selector("updateAction"));
navItem.RightBarButtonItem = rightBarButtonItem;
//- style
BarStyle = UIBarStyle.Black;
PushNavigationItem(navItem, false);
}
//- selectors omitted
}
【问题讨论】:
-
您是否可以选择使用
UIToolBar? -
谢谢。我可以使用 UINavigationBar 之类的工具栏吗?在 IB 中,我看到工具栏在“屏幕底部”使用。将UIToolbar放在顶部是否正确?
-
是的,您可以在页面顶部放置一个工具栏,这是完全可以接受的。当您在需要返回上一页/屏幕的情况下进行多级表格导航时,NavigationBars 非常有用。
-
@Candide 如何更改故事板中
toolbar的高度?
标签: ios xamarin.ios positioning uinavigationbar uibarbuttonitem