将Visual Studio 2017与Xamarin配合使用 - iOS Launchscreen为黑色/空白

问题描述 投票:0回答:3

我很难过。当我创建项目时,LaunchScreen.xib显示了在Visual Studio中创建iOS项目时获得的默认内容。没问题。我决定编辑xib,添加标签和图像,现在它不会显示,在启动应用程序时我得到一个黑屏。所以我删除了我添加到xib的所有内容,认为这至少会让我回到原始的启动屏幕。不,仍然加载黑色。我在网上搜索并尝试了我能找到的每一个“修复”。还是黑的。尝试使用Storyboard,创建另一个xib(MyLaunchScreen.xib),仍然加载黑色。看来,只要我碰到原来的xib,就会在一个手提篮里下地狱。如果有任何关于如何解决这个问题的建议,我将不胜感激。谢谢。

c# ios xamarin.ios visual-studio-2017
3个回答
0
投票

也许你用原始的.xib做了一些腐败的东西

请尝试以下步骤:

  1. 在模拟器中卸载您的应用程序。
  2. 删除原始.Xib
  3. 创建一个新的.Storyboard.Xib文件
  4. info.plist中选择新文件

enter image description here


0
投票

我找到了一个适合我的解决方案,首先是一个小背景:我在网络上找到的唯一一个特定于我的问题的答案使用了Visual Studio 2015.答案是通过右键单击Resources创建我自己的启动屏幕并添加对于资源文件夹的“LaunchScreen.xib”,2017年没有这样的选项。显然Visual Studio已经改变了一点,这样当您右键单击Resources文件夹并添加新项目时,它允许您选择“查看” “这是一个.xib。我做到了,得到了我想要的东西,添加了我想要的标签和图像视图,现在我可以按照自己的意愿工作。我很确定问题是由于默认的LaunchScreen.xib中内置的约束,Xamarin for Visual Studio 2017中使用的约束系统将bejesus混淆了,所以我创建的LaunchScreen.xib没有约束。当我试图在Apple Store上发布应用程序时,这可能会让我感到困惑,但我稍后会处理这个问题。下面是LaunchScreen.xib,它只不过是一个XML文件,它不起作用,然后是没有的,也许有人可以向我解释对我有用的整个约束。现在,呃。

LaunchScreen.xib(如果我没有完全正确的话,请原谅格式化):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="15G18013" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
        <dependencies>
            <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
            <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
            <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
        </dependencies>
            <objects>
                <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
                <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
                     <view contentMode="scaleToFill" id="iN0-l3-epB">
                         <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                     <subviews>
                         <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="  Copyright (c) 2017 C &amp; G Associates, Inc." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
                             <rect key="frame" x="20" y="439" width="440" height="21"/>
                             <fontDescription key="fontDescription" type="system" pointSize="17"/>
                             <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                             <nil key="highlightedColor"/>
                        </label>
                        <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sample Out" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX" misplaced="YES">
                            <rect key="frame" x="20" y="36" width="440" height="43"/>
                            <fontDescription key="fontDescription" name="TimesNewRomanPS-BoldItalicMT" family="Times New Roman" pointSize="36"/>
                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                            <nil key="highlightedColor"/>
                       </label>
                   </subviews>
                   <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                   <constraints>
                       <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
                       <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
                       <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
                       <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
                       <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
                       <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
                   </constraints>
                   <nil key="simulatedStatusBarMetrics"/>
                   <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
                   <point key="canvasLocation" x="548" y="455"/>
                   <accessibility key="accessibilityConfiguration">
                        <bool key="isElement" value="YES"/>
                   </accessibility>
                   <connections>
                       <outlet property="lblCopyRight" destination="8ie-xW-0ye" id="name-outlet-8ie-xW-0ye"/>
                   </connections>
                </view>
            </objects>
            <resources>
                <image name="CarpetSample.png" width="1294" height="861"/>
            </resources>
</document>

MyLaunchScreen.xib(这有效):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="15G18013" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" launchScreen="YES">
    <device id="ipad9_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <view contentMode="scaleToFill" id="1">
            <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/>
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
            <subviews>
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sample Out" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="165" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES">
                    <rect key="frame" x="0.0" y="29" width="768" height="58"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                    <fontDescription key="fontDescription" name="TimesNewRomanPS-BoldItalicMT" family="Times New Roman" pointSize="36"/>
                    <nil key="textColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="268" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES" text="Copyright (c) 2017 C &amp; G Associates, Inc.">
                    <rect key="frame" x="0.0" y="943" width="768" height="45"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                    <nil key="textColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="328" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES" image="CarpetSample.png">
                    <rect key="frame" x="43" y="111" width="685" height="806"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                </imageView>
            </subviews>
        </view>
    </objects>
    <resources>
        <image name="CarpetSample.png" width="1294" height="861"/>
    </resources>
</document>

0
投票

如果有其他人来到这里跟随Cole Xia - MSFT上面的回答,你可能会使用填满屏幕的背景图片并且它有问题,如果标签出现,请确保将标签贴在上面,然后保持这种想法:

  1. 为了避免在更好地创建新的View .xib之前,您可能已经更改了任何属性
  2. 当你运行它尝试使用不同的模拟器(如iPhone 6,iPhone 7等)或卸载它之前,以避免任何缓存保存在设备中。
  3. 通常原因是使图像响应不同屏幕大小的约束,如果操作不当会使其混淆并显示为黑色,您可以将其设计为一个设备大小然后检查其他设备的设计模式,它应该告诉您通过红点平方计算位置或你会注意到它是拉伸检查此视频https://youtu.be/i54LzXWwLuc也在布局检查你只有四个约束,如果你在四个方向拉伸你的bg图像。
  4. 另请查看如何在splash https://stackoverflow.com/a/47749043/10327213中制作图像背景
© www.soinside.com 2019 - 2024. All rights reserved.