Monotouch:将UINavigationController后退按钮排列在不同的位置

问题描述:

如何以(编程方式)将UINavigationController的后退按钮安排在不同的位置? 例如,假设后退按钮(在UINavigationController的上栏中可见)具有以下坐标:x为67,y为10。我会安排这些坐标的后退按钮:89为x和10为y。 我是否必须在特定方法(例如viewDidLoad()方法)中重写这些度量?Monotouch:将UINavigationController后退按钮排列在不同的位置

谢谢。问候。

我想这不能以简单的方式完成,因为您只能通过少数属性操作导航栏。所以基本上有两种方法:

1)遍历UI树并在导航工具栏中搜索由iOS为您创建的实际按钮控件,并更改其Frame属性。您可以随时通过Subviews属性访问内部控件,因此请调用navigationController.Subviews并遍历该内容,直到找到想要移动的控件为止,顺便说一句,它可能在层次结构中很深,取决于。随着iOS更新,这可能会改变,所以这是一个黑客,但通常这种技术运作良好。

2)做定制的方式。隐藏实际的导航栏,并通过自定义按钮进行导航,在界面中添加一个UIButton,并在navigationController上调用popViewController的操作。如果你在视图控制器中,你可以使用this.navigationController.PopViewControllerAnimated(...);

如果你需要很好的按键,使用这个PSD,很适合我http://www.teehanlax.com/blog/2010/06/14/iphone-gui-psd-v4/

希望这有助于。如果是这样,请投票。