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

时间:2017-12-13 21:20:27

标签: c# ios xamarin.ios visual-studio-2017

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

4 个答案:

答案 0 :(得分:0)

也许你用原始的.xib

制造了腐败的东西

请尝试以下步骤:

  1. 在模拟器中卸载您的应用。

  2. 删除原始df[df["BB"] == "CT"].sort_values(["FF"])

  3. 制作新的.Xib.Storyboard文件

  4. .Xib

  5. 中选择新文件

    enter image description here

答案 1 :(得分:0)

我找到了一个对我有用的解决方案,首先是一个小背景:我在网络上找到的唯一一个特定于我的问题的答案是使用Visual Studio 2015.答案是通过右键单击创建我自己的启动屏幕资源并将“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>

答案 2 :(得分:0)

如果其他人按照上述Cole Xia-MSFT的回答进行操作,则可能是因为背景图片填满了屏幕,但出现了问题,请确保如果标签出现,则将标签放在上面并放上明亮的颜色,然后保留此标签介意:

  1. 为了避免更改任何属性,最好先创建一个新的View .xib
  2. 运行它时,请尝试使用其他模拟器(例如,iphone 6,iphone 7等)或先将其卸载,以避免在设备中保存任何缓存。
  3. 通常的原因是限制使图像对不同的屏幕尺寸做出响应,如果处理不当会使图像混乱并显示为黑色,则可以将其设计为一种设备尺寸,然后在其他设备的设计模式下进行检查,应该以红色圆点正方形计算出的位置来告诉您,否则您会注意到它正在拉伸。请检查此视频https://youtu.be/i54LzXWwLuc并在布局中检查是否在四个方向上拉伸bg图像时只有四个约束。
  4. 在此处还检查如何在初始https://stackoverflow.com/a/47749043/10327213中制作图像背景

答案 3 :(得分:0)

某些根本原因可能是

  • info.plist中的配置错误。从iOS 8开始,iOS接受通用启动屏幕故事板。 info.plist中的启动屏幕名称应与实际的启动屏幕名称匹配。
  • 启动屏幕Storyboard / XIB文件已损坏。情节提要和XIB文件有时可能会损坏。通过检查文件的XML源,我们也许可以弄清楚。就我而言,我已经从另一个情节提要文件中复制了一些视图控制器,并删除了一些现有的。每个视图控制器在情节提要中都有一个唯一的ID。我的情节提要板将已删除的View控制器的ID保留为initialViewController。通过将此属性的值更改为情节提要中存在的有效ViewController的ID,此问题已为我解决。