2017-08-30 46 views
0

我不能認爲下面的tableview單元格是正確的自動約束。iOS桌面單元格佈局自動約束,每行4個標籤,兩側2個,2行

每個單詞都是一個標籤。所以,每行有4個標籤,2行。

enter image description here

我試圖對準「20」到尾的權利,但它表現出與「名」的重疊。

嘗試一些建議後更新時間:

enter image description here

+0

分享一些代碼? – antonio081014

+0

這對於堆棧視圖來說不是一份工作嗎? – matt

+0

@matt iOS 9+¯\\ _(ツ)_ /¯ – FreeNickname

回答

1

試試這個。您還應該將其中一個標籤水平壓縮內容抵抗力設置爲例如700

enter image description here

enter image description here

+0

我試過了。但仍有一些問題,我只是更新了我的問題,謝謝lto。 – manhon

+0

你有什麼約束問題?可以這樣看:http://imgur.com/a/vsl1n –

+0

不是自動佈局問題,但是https://imgur.com/a/5xyrF – manhon

2

我不認爲你需要priorize約束。

我得到了這樣的結果:

enter image description here

使用這個故事板:

<?xml version="1.0" encoding="UTF-8"?> 
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="pSd-1g-yzb"> 
    <device id="retina4_7" orientation="portrait"> 
     <adaptation id="fullscreen"/> 
    </device> 
    <dependencies> 
     <deployment identifier="iOS"/> 
     <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> 
     <capability name="Constraints to layout margins" minToolsVersion="6.0"/> 
     <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 
    </dependencies> 
    <scenes> 
     <!--Second--> 
     <scene sceneID="N6t-4u-rEI"> 
      <objects> 
       <viewController id="pSd-1g-yzb" customClass="second" customModule="sdv" customModuleProvider="target" sceneMemberID="viewController"> 
        <layoutGuides> 
         <viewControllerLayoutGuide type="top" id="2V7-Hz-GBP"/> 
         <viewControllerLayoutGuide type="bottom" id="MEu-0g-Ng5"/> 
        </layoutGuides> 
        <view key="view" contentMode="scaleToFill" id="JAf-fN-bhN"> 
         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 
         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 
         <subviews> 
          <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="106" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="RxB-gO-BaE"> 
           <rect key="frame" x="0.0" y="104" width="375" height="563"/> 
           <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 
           <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 
           <prototypes> 
            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" rowHeight="106" id="ZS4-z5-fDX" customClass="cellTest" customModule="sdv" customModuleProvider="target"> 
             <rect key="frame" x="0.0" y="28" width="375" height="106"/> 
             <autoresizingMask key="autoresizingMask"/> 
             <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZS4-z5-fDX" id="Gzo-a3-xSX"> 
              <rect key="frame" x="0.0" y="0.0" width="375" height="105.5"/> 
              <autoresizingMask key="autoresizingMask"/> 
              <subviews> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="name:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KZg-iQ-1yZ"> 
                <rect key="frame" x="8" y="15" width="47" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="height" constant="21" id="QTh-E8-jrz"/> 
                 <constraint firstAttribute="width" constant="47" id="pXL-H9-1Pi"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="John" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UDy-Br-8rJ"> 
                <rect key="frame" x="63" y="15" width="107" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="height" constant="21" id="A4A-fg-T3O"/> 
                 <constraint firstAttribute="width" constant="107" id="clg-dt-kRd"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="City:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ofl-yu-07n"> 
                <rect key="frame" x="8" y="44" width="35" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="width" constant="35" id="byF-mE-EzO"/> 
                 <constraint firstAttribute="height" constant="21" id="pEY-1J-Juf"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="HK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uvr-jw-AgS"> 
                <rect key="frame" x="63" y="44" width="107" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="height" constant="21" id="O8S-sI-SVg"/> 
                 <constraint firstAttribute="width" constant="107" id="OKt-4D-irY"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OVW-yq-ra7"> 
                <rect key="frame" x="296" y="15" width="38" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="width" constant="38" id="Tve-KR-3qg"/> 
                 <constraint firstAttribute="height" constant="21" id="XY5-8k-a8r"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Country:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sY6-0y-uY8"> 
                <rect key="frame" x="222" y="44" width="66" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="width" constant="66" id="FQ4-Du-Kg5"/> 
                 <constraint firstAttribute="height" constant="21" id="f2H-DW-ZsP"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="HK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yGP-I1-NoG"> 
                <rect key="frame" x="296" y="44" width="38" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="height" constant="21" id="pE3-ud-vJm"/> 
                 <constraint firstAttribute="width" constant="38" id="vLT-EO-jKF"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
               <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Age:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uPL-7i-yNc"> 
                <rect key="frame" x="253" y="15" width="35" height="21"/> 
                <constraints> 
                 <constraint firstAttribute="width" constant="35" id="mg8-e4-baN"/> 
                 <constraint firstAttribute="height" constant="21" id="oTV-cD-jy1"/> 
                </constraints> 
                <fontDescription key="fontDescription" type="system" pointSize="17"/> 
                <nil key="textColor"/> 
                <nil key="highlightedColor"/> 
               </label> 
              </subviews> 
              <constraints> 
               <constraint firstItem="KZg-iQ-1yZ" firstAttribute="top" secondItem="Gzo-a3-xSX" secondAttribute="topMargin" constant="7" id="30Z-xf-2jT"/> 
               <constraint firstItem="uvr-jw-AgS" firstAttribute="top" secondItem="UDy-Br-8rJ" secondAttribute="bottom" constant="8" id="3sf-vl-Ik6"/> 
               <constraint firstItem="Ofl-yu-07n" firstAttribute="leading" secondItem="Gzo-a3-xSX" secondAttribute="leadingMargin" id="Cq6-Rx-vkU"/> 
               <constraint firstAttribute="trailingMargin" secondItem="OVW-yq-ra7" secondAttribute="trailing" constant="33" id="DWV-l5-f18"/> 
               <constraint firstItem="Ofl-yu-07n" firstAttribute="top" secondItem="KZg-iQ-1yZ" secondAttribute="bottom" constant="8" id="KaQ-NN-tLo"/> 
               <constraint firstItem="yGP-I1-NoG" firstAttribute="leading" secondItem="sY6-0y-uY8" secondAttribute="trailing" constant="8" id="O2L-ng-7xA"/> 
               <constraint firstItem="UDy-Br-8rJ" firstAttribute="top" secondItem="Gzo-a3-xSX" secondAttribute="topMargin" constant="7" id="PVB-ck-Dlf"/> 
               <constraint firstAttribute="trailingMargin" secondItem="yGP-I1-NoG" secondAttribute="trailing" constant="33" id="RXc-0r-9rt"/> 
               <constraint firstItem="uvr-jw-AgS" firstAttribute="leading" secondItem="Ofl-yu-07n" secondAttribute="trailing" constant="20" id="ZQs-MN-PDV"/> 
               <constraint firstItem="KZg-iQ-1yZ" firstAttribute="leading" secondItem="Gzo-a3-xSX" secondAttribute="leadingMargin" id="ZZJ-gs-0Fs"/> 
               <constraint firstItem="yGP-I1-NoG" firstAttribute="top" secondItem="OVW-yq-ra7" secondAttribute="bottom" constant="8" id="f9a-58-K8F"/> 
               <constraint firstItem="sY6-0y-uY8" firstAttribute="top" secondItem="uPL-7i-yNc" secondAttribute="bottom" constant="8" id="hWN-Y2-3Ae"/> 
               <constraint firstItem="OVW-yq-ra7" firstAttribute="leading" secondItem="uPL-7i-yNc" secondAttribute="trailing" constant="8" id="mcM-m5-OXn"/> 
               <constraint firstItem="UDy-Br-8rJ" firstAttribute="leading" secondItem="KZg-iQ-1yZ" secondAttribute="trailing" constant="8" id="oOn-mC-oox"/> 
               <constraint firstItem="OVW-yq-ra7" firstAttribute="top" secondItem="Gzo-a3-xSX" secondAttribute="topMargin" constant="7" id="ycQ-u3-6lf"/> 
               <constraint firstItem="uPL-7i-yNc" firstAttribute="top" secondItem="Gzo-a3-xSX" secondAttribute="topMargin" constant="7" id="zbm-JK-27a"/> 
              </constraints> 
             </tableViewCellContentView> 
            </tableViewCell> 
           </prototypes> 
           <connections> 
            <outlet property="dataSource" destination="pSd-1g-yzb" id="tb8-8p-FL3"/> 
            <outlet property="delegate" destination="pSd-1g-yzb" id="plR-Bc-tN0"/> 
           </connections> 
          </tableView> 
         </subviews> 
         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 
        </view> 
        <connections> 
         <outlet property="tableView" destination="RxB-gO-BaE" id="kTb-PN-Tpd"/> 
        </connections> 
       </viewController> 
       <placeholder placeholderIdentifier="IBFirstResponder" id="skk-yw-pih" userLabel="First Responder" sceneMemberID="firstResponder"/> 
      </objects> 
      <point key="canvasLocation" x="493.60000000000002" y="74.212893553223395"/> 
     </scene> 
    </scenes> 
</document> 

您可以創建一個測試項目,並粘貼在你的故事板文件。那麼你將能夠看到我是如何做到這些限制的。 要做到這一點,打開它的源代碼:

enter image description here

爲你的創建一個類:

class cellTest: UITableViewCell { 
    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 
} 

而使用固定的值,請委託表格視圖:

class second: UIViewController, UITableViewDelegate, UITableViewDataSource { 
    @IBOutlet weak var tableView: UITableView! 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 3 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cellIdentifier: String = "Cell" 
     let cell : cellTest = self.tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! cellTest 
     return cell 
    } 

    func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

} 

只需在故事板中設置這兩個類,爲您VC和您的單元格,在屬性檢查器,表視圖數據源和delega中設置reuseIdentifier te到你的VC並運行。

+0

非常感謝。但是當我將應用程序預覽到ipad時,這是額外的空間。例如http://i63.tinypic.com/25jwo5v.png – manhon

+0

你必須使用Vary for Traits來適應iPad – GIJOW

+0

https://stackoverflow.com/questions/39890055/what-is-vary-for-traits-in- Xcode中-8 – GIJOW