【发布时间】:2016-01-15 10:51:09
【问题描述】:
在我的应用程序中有一个UIViewController,其唯一的工作是显示从服务器下载的图像。我希望此图像具有与默认屏幕相同的大小;此外,由于此图像是一种配方,我希望用户能够放大/缩小图像以便更好地阅读,这就是我将UIImageview 嵌入到UIScrollView 中的原因。
UIScrollView 有 4 个约束:UIScrollView 和 UIViewController 之间的 4 个距离都设置为 0。
UIImageView 有 4 个约束:UIImageView 和包含它的 UIScrollView 之间的 4 个距离都设置为 0。
结果不如预期:UIScrollView 和UIViewController 顶部之间的距离更大,图像更大。
你知道如何得到想要的结果吗?
<!--Recipe View Controller-->
<scene sceneID="y5Y-bz-arP">
<objects>
<viewController id="VnP-A1-Srr" customClass="RecipeViewController" customModule="Fishmeter" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="J4Y-SW-LaP"/>
<viewControllerLayoutGuide type="bottom" id="Yuj-fl-Q0L"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="1xx-WP-lNU">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5rg-8n-qc9">
<rect key="frame" x="27" y="94" width="558" height="486"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Y0D-XM-XJ8">
<rect key="frame" x="159" y="158" width="240" height="128"/>
</imageView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="Y0D-XM-XJ8" secondAttribute="trailing" id="P5c-2q-jZO"/>
<constraint firstItem="Y0D-XM-XJ8" firstAttribute="leading" secondItem="5rg-8n-qc9" secondAttribute="leading" id="VkK-Pa-vmE"/>
<constraint firstAttribute="bottom" secondItem="Y0D-XM-XJ8" secondAttribute="bottom" id="mzG-vW-1fV"/>
<constraint firstItem="Y0D-XM-XJ8" firstAttribute="top" secondItem="5rg-8n-qc9" secondAttribute="top" id="uoZ-V1-kxX"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="5rg-8n-qc9" secondAttribute="trailing" id="PbP-OD-eRM"/>
<constraint firstItem="Yuj-fl-Q0L" firstAttribute="top" secondItem="5rg-8n-qc9" secondAttribute="bottom" id="TQL-96-UgX"/>
<constraint firstItem="5rg-8n-qc9" firstAttribute="leading" secondItem="1xx-WP-lNU" secondAttribute="leadingMargin" id="XEX-ck-lZi"/>
<constraint firstItem="5rg-8n-qc9" firstAttribute="top" secondItem="J4Y-SW-LaP" secondAttribute="bottom" constant="-10" id="lL6-Dk-MZe"/>
</constraints>
</view>
<connections>
<outlet property="recipeImage" destination="Y0D-XM-XJ8" id="5pc-vd-Ak8"/>
<outlet property="scrollView" destination="5rg-8n-qc9" id="Ieo-Uk-HIB"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="cUt-8l-j6r" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="3265" y="-311"/>
</scene>
【问题讨论】:
-
用UIWebView岂不是更好?并根据需要设置约束。它将默认缩放功能。
-
谢谢...我会立即尝试并通知您。我不知道有 UIWebView...我用 iOS 和 Swift 编程的时间很短
-
@msmq 恐怕我得到了相同的结果......顶部总是有一些额外的空间(现在是灰色)并且图像总是太大......
标签: xcode swift size-classes