2017-10-26 6 views
0

Ich habe eine Anwendung, die mit der Xamarin-Formularvorlage in Visual Studio 2017 erstellt wurde. Es funktioniert gut, aber ich wollte das Bild auf dem Startbildschirm ändern.Wechselndes Splash-Bild in Xamarin Forms-Anwendung

Ich habe ein Bild, das hohe Auflösung hat und auf die Größe passen möchte, aber stattdessen ist es zu groß und Sie können nur einen Teil des Bildes sehen, wenn die ios App lädt.

Hier ist der Code, ich das Bild Namen TEST1.png im LaunchScreen.Storyboard xamarin.ios Projekt

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="X5k-f2-b5h"> 
<dependencies> 
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/> 
</dependencies> 
<scenes> 
    <!--View Controller--> 
    <scene sceneID="gAE-YM-kbH"> 
     <objects> 
      <viewController id="X5k-f2-b5h" sceneMemberID="viewController"> 
       <layoutGuides> 
        <viewControllerLayoutGuide type="top" id="Y8P-hJ-Z43"/> 
        <viewControllerLayoutGuide type="bottom" id="9ZL-r4-8FZ"/> 
       </layoutGuides> 
       <view key="view" contentMode="scaleToFill" id="yd7-JS-zBw"> 
        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> 
        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 
        <subviews> 
         <imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="test1.png" translatesAutoresizingMaskIntoConstraints="NO" id="23"> 
          <rect key="frame" x="270" y="270" width="60" height="60"/> 
          <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/> 
         </imageView> 
        </subviews> 
        <color key="backgroundColor" red="0.20392156862745098" green="0.59607843137254901" blue="0.85882352941176465" alpha="1" colorSpace="calibratedRGB"/> 
        <constraints> 
         <constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/> 
         <constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/> 
        </constraints> 
       </view> 
      </viewController> 
      <placeholder placeholderIdentifier="IBFirstResponder" id="XAI-xm-WK6" userLabel="First Responder" sceneMemberID="firstResponder"/> 
     </objects> 
     <point key="canvasLocation" x="349" y="339"/> 
    </scene> 
</scenes> 
<resources> 
    <image name="test1.png" width="180" height="180"/> 
</resources> 

i die Größe des Bildes kann ohne Gibt es eine Art und Weise verändert haben Ändern Sie das eigentliche Bild selbst?

Dank

+0

Folgen [dieser Leitfaden] (https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_images/launch-screens /). Es zeigt alle erforderlichen Schritte. –

+0

Wurde das Bild nicht auf dem Bildschirm angezeigt? Können Sie einen Screenshot Ihres Begrüßungsbildschirms bereitstellen? –

+0

danke allen, die guides sind sehr hilfreich –

Antwort

2

Sie haben die ContentMode des Bildes auf "scaleToFill" gesetzt. Dadurch wird Ihr Bild so skaliert, dass es über den Zielbereich hinausgeht, bis die kleinste Seite in den Flush passt.

Ändern Sie die ContentMode zu "scaleAspectFit" für das Bild und sehen Sie, wie es für Sie funktioniert.

Diese Links wäre hilfreich, die ContentMode im Detail zu verstehen:

Link 1

Link 2

+0

Arbeitete super danke.Ist da irgendwo kann ich die Dokumentation dazu finden? Nur so kann ich alle Konfigurationen für ContentMode usw. sehen? –

+0

Ich bearbeitete meine Antwort mit zusätzlichen Links. – MilanG