我有一个奇怪的问题:
我将UITableview分隔符设置为粉红色。如您所见,我的单元格的中间和末尾显示了一些线条,但有一个偏移量。滚动时它不会移动,因此我称之为在我的单元格前面显示的网格。 我在这里遇到的一个大问题是,它只能在iPhone7模拟器(IOS 10)上显示,而且显示更少(7s不显示此网格)。
你们有没有想过为什么以及如何解决这个问题?
如果您需要一些代码,请告诉我,我会编辑我的帖子。
谢谢!
这是xib:
<!--Articles-->
<scene sceneID="j0Y-qF-3lq">
<objects>
<viewController id="6B8-Tk-xPz" userLabel="Articles" customClass="HeadController" customModule="E_R" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="H0o-ZU-FUz"/>
<viewControllerLayoutGuide type="bottom" id="DVT-NA-hNg"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Qib-nc-8lK" customClass="UITableView">
<rect key="frame" x="0.0" y="64" width="375" height="554"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="90" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="oLy-kw-Uc2">
<rect key="frame" x="0.0" y="0.0" width="375" height="554"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="separatorColor" red="1" green="0.0" blue="0.95666110710516339" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<prototypes>
<tableViewCell opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="ArticleTableViewCell" rowHeight="90" id="owe-aQ-qV4" customClass="ArticleTableViewCell" customModule="E_R">
<rect key="frame" x="0.0" y="28" width="375" height="90"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="owe-aQ-qV4" id="k3G-5w-mGo">
<rect key="frame" x="0.0" y="0.0" width="375" height="89"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label" lineBreakMode="wordWrap" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VV9-uR-YRk">
<rect key="frame" x="7" y="0.0" width="271" height="54"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name=".SFNSText" family=".SF NS Text" pointSize="13"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Label" lineBreakMode="wordWrap" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="T9Y-oH-4IA">
<rect key="frame" x="7" y="57" width="268" height="34"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" name=".SFNSText" family=".SF NS Text" pointSize="11"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Z8M-gG-zVc">
<rect key="frame" x="283" y="0.0" width="88" height="88"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
</imageView>
</subviews>
</tableViewCellContentView>
<accessibility key="accessibilityConfiguration" identifier="ArticleTableViewCell">
<bool key="isElement" value="NO"/>
</accessibility>
<gestureRecognizers/>
<connections>
<outlet property="previewImage" destination="Z8M-gG-zVc" id="J2R-HU-hYb"/>
<outlet property="subTitleLabel" destination="T9Y-oH-4IA" id="RuM-IV-kza"/>
<outlet property="titleLabel" destination="VV9-uR-YRk" id="9v5-6F-3lA"/>
<segue destination="BTc-SH-fsG" kind="show" identifier="ShowDetail" id="SZH-pm-QeE"/>
</connections>
</tableViewCell>
</prototypes>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
<extendedEdge key="edgesForExtendedLayout"/>
<navigationItem key="navigationItem" id="mnh-mw-Uiz">
<segmentedControl key="titleView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="fill" contentVerticalAlignment="fill" segmentControlStyle="bar" selectedSegmentIndex="0" id="ghy-sl-9Yp">
<rect key="frame" x="92" y="7" width="191" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<segments>
<segment title="A la une"/>
<segment title="Tous"/>
</segments>
<connections>
<action selector="SwitchList:" destination="6B8-Tk-xPz" eventType="valueChanged" id="a4M-GY-kSb"/>
</connections>
</segmentedControl>
</navigationItem>
<connections>
<outlet property="ArticlesList" destination="oLy-kw-Uc2" id="qXj-r7-lJg"/>
<outlet property="SegmentedArticles" destination="ghy-sl-9Yp" id="oTe-Vh-Kns"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="l57-G8-yDO" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="237.59999999999999" y="425.93703148425789"/>
</scene>
图像单元原型:
答案 0 :(得分:0)
我认为你的表View rowHeight是laoding的默认表。
在viewDidLoad
方法中尝试此代码:
override func viewDidLoad() {
tableView.estimatedRowHeight = 150.0
tableView.rowHeight = UITableViewAutomaticDimension
tableView.tableFooterView = UIView()
}
同样隐藏tableView的默认分隔符(如果已将其添加为自定义行,则不需要)
希望它能解决这个问题。
<强>更新强>
如果你不知道如何添加布局constarints并且你的tableView只有一种类型的单元格,那么你也可以在storyboard中设置rowHeight。在viewController中选择tableView并转到属性检查器
添加屏幕截图:
在此处设置所需的 rowHeight 。它可能会解决您的问题。
答案 1 :(得分:0)
好的,我有答案。非常简单 !我有一个TableViewController,它包含一个TableView。问题是我在TableViewController中包含了另一个TableView!这就是为什么我在第二个TableView前面有我的那种“网格”。