gpt4 book ai didi

iOS tableview 单元格布局自动约束,每行 4 个标签,2 个在 2 边,2 行

转载 作者:行者123 更新时间:2023-11-28 19:30:08 25 4
gpt4 key购买 nike

我想不出下面表格 View 单元格的正确自动约束。

每个词都是一个标签。因此,每行 4 个标签,共 2 行。

enter image description here

我试图将“20”与尾部右对齐,但它显示与“名称”重叠。

尝试一些建议后更新:

enter image description here

最佳答案

我认为您不需要优先考虑约束。

我得到了这个结果:

enter image description here

使用这个 Storyboard:

<?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>

您可以创建一个测试项目并将其粘贴到 Storyboard文件中。然后您将能够看到我是如何进行约束的。为此,请将其作为源代码打开:

enter image description here

为你的单元格创建一个类:

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

并为您的委托(delegate) TableView 使用固定值:

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
}

}

只需在您的 Storyboard中设置两个类,为您的 VC 和您的单元格,在属性检查器中设置 reuseIdentifier, TableView 数据源并委托(delegate)给您的 VC 并运行。

关于iOS tableview 单元格布局自动约束,每行 4 个标签,2 个在 2 边,2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com