缩放UIImage以查看大小

时间:2015-01-17 19:54:14

标签: c# ios uiimage xamarin xamarin-studio

我对Xamarin的iOS开发完全不熟悉,即使在搜索了几个小时的特定问题的解决方案并在最后几个教程中完成了一些教程之后,我也无法做真正的,非常简单的事情。天。

我已经开始了一个全新的单视图项目,我试图用UIImage创建一个背景,这个UIImage填充了一个覆盖整个屏幕的1px宽的渐变图像(UIImage中的图像设置为填充)。当屏幕尺寸改变或我旋转设备时,UIImage不会自行缩放,我似乎无法向父视图控制器添加约束以自动获得屏幕尺寸。我想在界面构建器中执行此操作而不是代码,因此我可以在构建应用程序时看到背景。这有可能吗?

我意识到我可以使用CAGradient并以编程方式调整它的大小,但我想学习使用图像的方法,以防我将来需要将它用于带图案的背景。

谢谢!

2 个答案:

答案 0 :(得分:0)

在ViewWillAppear中......使用此

View.BackgroundColor = UIColor.FromPatternImage(UIImage.FromFile(“Images / bg.png”));

答案 1 :(得分:0)

为了使您的UIView动态化(意味着.Frame属性被修改),您需要对一些控件(UI元素)进行编码。

你可以做的是,当你旋转屏幕(覆盖方法DidRotate)时,改变你的UIView的.Frame属性,改为包含UIView的.frame。

public partial class someKindOfViewController: UIViewController
{
    private UIView view;

    public override void ViewWillAppear (bool animated)
    {
        base.ViewWillAppear (animated);

        UpdateGUI ();
    }

    public override void ViewDidLoad ()
    {
        base.ViewWillAppear ();

        view = new UIView ();

        this.View.AddSubView (view);
    }

    public override void DidRotate (UIInterfaceOrientation fromInterfaceOrientation)
    {
        base.DidRotate (fromInterfaceOrientation);

        UpdateGUI ();
    }

    public void UpdateGUI ()
    {
        view.Frame = new RectangleF (0, 0, this.View.Frame.Width, this.View.Frame.Height);
    }
}

请记住,您必须向私有UIView添加其他控件,而不是由UIViewController管理的UIView。

希望这会有所帮助。祝你好运!

爱和问候, 的Björn