Xamarin: so laden Sie Bild aus der iOS-library-Projekt

Habe ich einen Xamarin Projekt gestylt mit MvvmCross. Es gibt Unterprojekte:

  • Core (PCL)
  • ViewModel (PCL)
  • iOS (Executable)

Wenn ich ein Bild hinzufügen, um meine iOS-Projekt (Resoureces/Images/test_image.png), dann kann ich laden Sie es mit diesem code:

UIImage image = UIImage.FromBundle("Images/test_icon.png");

Nun, ich will ein neues Teilprojekt

  • Steuerelemente (iOS-Bibliothek)

Diese Bibliothek soll ein Bild laden. Ich fügte hinzu, ein Bild, um die Steuerelemente (Resoureces/Images/test_image.png)

Aber ich kann nicht laden Sie dieses Bild in Kontrollen proj.

Meine Frage: Wie lädt man Bilder vom iOS-Bibliotheken?

    public class MyButton : UIButton
    {
        public MyButton () : base()
        {
            Initialize ();
        }

        void Initialize()
        {
            //load image from bundle
            UIImage image = UIImage.FromBundle("Images/test_icon.png");
            //image is null
            this.SetImage (image, UIControlState.Normal);
        }
    }

und die ViewController-Klasse :

    public partial class FirstView : MvxViewController
    {
        public FirstView () : base ("FirstView", null)
        {
        }

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

            //load image from bundle
//         UIImage image = UIImage.FromBundle("Images/test_icon.png");
//         image is not null if added in iOS Proj
//         this.imageView.Image = image;

            MyButton button = new MyButton ();

            View.Add (button);

            View.AddConstraint (NSLayoutConstraint.Create (button, NSLayoutAttribute.Right, NSLayoutRelation.Equal, View, NSLayoutAttribute.Right, 1, 10));
            View.AddConstraint (NSLayoutConstraint.Create (button, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.Top, 1, 74));
            View.AddConstraint (NSLayoutConstraint.Create (button, NSLayoutAttribute.Width, NSLayoutRelation.Equal, null, NSLayoutAttribute.NoAttribute, 0, 64)); 
            View.AddConstraint (NSLayoutConstraint.Create (button, NSLayoutAttribute.Height, NSLayoutRelation.Equal, null, NSLayoutAttribute.NoAttribute, 0, 64)); 
        }
    }

Xamarin: so laden Sie Bild aus der iOS-library-Projekt

Hier ist voll proj: https://bitbucket.org/ww_wschaefer/xamarin-first-crossover-app/overview

  • Sie kann die Verwendung von Bundle-es sei denn, Ihr zur Verfügung als bundeled Ressource, ich denke, Sie würden besser mit UIImage.FromFile("Images/test_icon.png"). Sie sollten auch einen Blick auf dieses Frage.
  • Ich kann nicht glauben, die Lösung ist so einfach, Dank Rohit.
  • froh, dass Ihr problem gelöst wurde. Ich habe die Erklärung, wenn Sie interessiert sind.
  • Wenn Sie nichts dagegen haben, bitte akzeptieren Sie die Antwort, wenn es dein problem gelöst hat, so dass es hilfreich wäre, auch für andere. @iOSfleer
InformationsquelleAutor iOSfleer | 2015-09-14
Schreibe einen Kommentar