Tweak UI of PasswordsView
This commit is contained in:
parent
fcec7d1245
commit
4c83427a01
2 changed files with 32 additions and 42 deletions
|
|
@ -291,42 +291,34 @@ class PasswordsViewController: UIViewController, UITableViewDataSource, UITableV
|
||||||
}
|
}
|
||||||
|
|
||||||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||||
let longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(longPressAction(_:)))
|
let longPressGestureRecognizer: UILongPressGestureRecognizer = {
|
||||||
longPressGestureRecognizer.minimumPressDuration = 0.6
|
let recognizer = UILongPressGestureRecognizer(target: self, action: #selector(longPressAction))
|
||||||
if SharedDefaults[.isShowFolderOn] && searchController.searchBar.selectedScopeButtonIndex == 0{
|
recognizer.minimumPressDuration = 0.6
|
||||||
|
return recognizer
|
||||||
|
}()
|
||||||
|
let entry = getPasswordEntry(by: indexPath)
|
||||||
|
let passwordEntity = entry.passwordEntity!
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: "passwordTableViewCell", for: indexPath)
|
let cell = tableView.dequeueReusableCell(withIdentifier: "passwordTableViewCell", for: indexPath)
|
||||||
|
|
||||||
let entry = getPasswordEntry(by: indexPath)
|
cell.textLabel?.text = passwordEntity.synced ? entry.title : "↻ \(entry.title)"
|
||||||
if entry.passwordEntity!.synced {
|
cell.textLabel?.font = UIFont.preferredFont(forTextStyle: .body)
|
||||||
cell.textLabel?.text = entry.title
|
cell.textLabel?.adjustsFontForContentSizeCategory = true
|
||||||
} else {
|
|
||||||
cell.textLabel?.text = "↻ \(entry.title)"
|
|
||||||
}
|
|
||||||
if !entry.isDir {
|
|
||||||
cell.addGestureRecognizer(longPressGestureRecognizer)
|
|
||||||
cell.accessoryType = .none
|
|
||||||
cell.detailTextLabel?.text = ""
|
|
||||||
} else {
|
|
||||||
cell.accessoryType = .disclosureIndicator
|
|
||||||
cell.detailTextLabel?.font = UIFont.preferredFont(forTextStyle: .body)
|
|
||||||
cell.detailTextLabel?.text = "\(entry.passwordEntity?.children?.count ?? 0)"
|
|
||||||
}
|
|
||||||
return cell
|
|
||||||
} else {
|
|
||||||
let cell = tableView.dequeueReusableCell(withIdentifier: "passwordTableViewCell", for: indexPath)
|
|
||||||
let entry = getPasswordEntry(by: indexPath)
|
|
||||||
if entry.passwordEntity!.synced {
|
|
||||||
cell.textLabel?.text = entry.title
|
|
||||||
} else {
|
|
||||||
cell.textLabel?.text = "↻ \(entry.title)"
|
|
||||||
}
|
|
||||||
cell.accessoryType = .none
|
cell.accessoryType = .none
|
||||||
cell.detailTextLabel?.font = UIFont.preferredFont(forTextStyle: .footnote)
|
cell.detailTextLabel?.font = UIFont.preferredFont(forTextStyle: .footnote)
|
||||||
cell.detailTextLabel?.text = entry.passwordEntity?.getCategoryText()
|
cell.detailTextLabel?.adjustsFontForContentSizeCategory = true
|
||||||
cell.addGestureRecognizer(longPressGestureRecognizer)
|
cell.addGestureRecognizer(longPressGestureRecognizer)
|
||||||
return cell
|
|
||||||
|
if entry.isDir {
|
||||||
|
cell.accessoryType = .disclosureIndicator
|
||||||
|
cell.textLabel?.font = UIFont.systemFont(ofSize: UIFont.systemFontSize, weight: .semibold)
|
||||||
|
cell.detailTextLabel?.font = UIFont.preferredFont(forTextStyle: .body)
|
||||||
|
cell.detailTextLabel?.text = "\(passwordEntity.children?.count ?? 0)"
|
||||||
|
cell.removeGestureRecognizer(longPressGestureRecognizer)
|
||||||
|
} else {
|
||||||
|
cell.detailTextLabel?.text = passwordEntity.getCategoryText()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return cell
|
||||||
}
|
}
|
||||||
|
|
||||||
private func getPasswordEntry(by indexPath: IndexPath) -> PasswordsTableEntry {
|
private func getPasswordEntry(by indexPath: IndexPath) -> PasswordsTableEntry {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||||
<device id="retina4_7" orientation="portrait">
|
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
||||||
<adaptation id="fullscreen"/>
|
|
||||||
</device>
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
|
|
@ -15,26 +13,26 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="84"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="84"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="83.5"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="84"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView opaque="NO" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" placeholderIntrinsicWidth="52" placeholderIntrinsicHeight="52" translatesAutoresizingMaskIntoConstraints="NO" id="gKV-Cd-wIk">
|
<imageView opaque="NO" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" placeholderIntrinsicWidth="52" placeholderIntrinsicHeight="52" translatesAutoresizingMaskIntoConstraints="NO" id="gKV-Cd-wIk">
|
||||||
<rect key="frame" x="16" y="15" width="54" height="54"/>
|
<rect key="frame" x="15" y="15" width="54" height="54"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" priority="999" constant="52" id="Liw-y2-PDc"/>
|
<constraint firstAttribute="height" priority="999" constant="52" id="Liw-y2-PDc"/>
|
||||||
<constraint firstAttribute="width" secondItem="gKV-Cd-wIk" secondAttribute="height" multiplier="1:1" id="rsw-IM-Eh1"/>
|
<constraint firstAttribute="width" secondItem="gKV-Cd-wIk" secondAttribute="height" multiplier="1:1" id="rsw-IM-Eh1"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KvF-3d-EbG">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KvF-3d-EbG">
|
||||||
<rect key="frame" x="86" y="21" width="218" height="21"/>
|
<rect key="frame" x="85" y="21" width="220" height="21"/>
|
||||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||||
<nil key="textColor"/>
|
<nil key="textColor"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
</label>
|
</label>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="category1 > category2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ctk-b6-pjw">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="category1 > category2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ctk-b6-pjw">
|
||||||
<rect key="frame" x="86" y="48" width="218" height="16"/>
|
<rect key="frame" x="85" y="48" width="220" height="16"/>
|
||||||
<fontDescription key="fontDescription" style="UICTFontTextStyleFootnote"/>
|
<fontDescription key="fontDescription" style="UICTFontTextStyleFootnote"/>
|
||||||
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="textColor" systemColor="systemGrayColor" red="0.55686274509803924" green="0.55686274509803924" blue="0.57647058823529407" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
</label>
|
</label>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue