我正在尝试在UINavigationBar上设置水平渐变。到目前为止,我已经得到它,以便在纵向模式下,使用以下代码正确显示渐变:
static internal class UINavigationControllerExtensions
{
public static void SetBarDefaults(this UINavigationController controller)
{
controller.NavigationBar.BarTintColor = UIColor.FromPatternImage(UIImage.FromFile(IosConstants.ApplicationGradient));
//Other setup stuff
}
}
在我们的第一个视图中调用此扩展方法,并为所有纵向视图正确设置它。
旋转设备时出现问题。当发生这种情况时,渐变在NavigationBar的宽度处被切断,就好像它处于纵向模式,然后再次开始,导致一条明显不同的线。
我尝试过在视图控制器上等待旋转事件的实验,然后重新调用此方法尝试重新绘制渐变,但显然这也不起作用。
有谁知道如何在旋转时正确调整大小?
答案 0 :(得分:1)
您可以使用:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"gardientImage"] forBarMetrics:UIBarMetricsDefault];
for ios 7导航栏高度为64px