导航栏隐藏后重新排列控件

时间:2012-04-11 01:07:25

标签: uinavigationcontroller xamarin.ios

我的应用程序的主视图是一个UImageView和一个隐藏的NavigationController。我正在使用Monotouch.Dialog来创建一个设置屏幕,它运行良好。

我已经安排UIImageView与NavigationController重叠,以便它可以到达可视区域的顶部。

我的问题是,当我回到主视图并隐藏NavigationController时,看起来UIImageView已经被自动“推下”,因此它不再重叠。它看起来不像是可视控件的Dock / Anchor属性,所以是否有一种编程方式将放置UIImageView放回原来的位置?

很抱歉,如果这是一个noob问题,我是一个长期的C#程序,但直到本月才真正从未启动任何类型的Mac,所以我发现Monotouch学习曲线在早期有点艰难。

1 个答案:

答案 0 :(得分:0)

实际上有一些用于可视控件的dock / anchor属性。在处理设备方向更改时,它们也常用。

在Xcode中,单击您遇到问题的图像,在右侧您应该看到属性窗口。在该窗口的顶部,单击下一个选项卡(看起来像一个标尺),您可以在其中调整定位等。

但回到手头的问题,好像你在主视图中隐藏了一个导航控制器,但是在你用导航控制器将东西推到视图堆栈上之后会出现(如果我错了,请纠正我)。要解决此问题,您需要做的就是在每个控制器的XIB上将右侧属性面板中的“模拟指标”属性更改为“导航栏”或“标签栏”(如果您使用的话)。这将帮助您正确定位,以便正确显示。请注意,这实际上并不创建导航栏,而只是让您可以看到在以编程方式推送视图时它会显示的样子。

总而言之,只需修改两个XIB以不同方式处理图像,您的问题就应该解决了!