Skip to content

Commit de0203e

Browse files
committed
Fix the crash caused by incorrectly declared properties
1 parent 6043983 commit de0203e

File tree

5 files changed

+91
-66
lines changed

5 files changed

+91
-66
lines changed

Mixin.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,7 @@
772772
949569A8263B13BF00E043FE /* TranscriptMessageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 949569A7263B13BF00E043FE /* TranscriptMessageViewModel.swift */; };
773773
949A3686261D9C5C004251B2 /* post.css in Resources */ = {isa = PBXBuildFile; fileRef = 949A3685261D9C5C004251B2 /* post.css */; };
774774
94A1B1DF25BFD7CB0098586D /* LinkLocatingTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A1B1DE25BFD7CB0098586D /* LinkLocatingTextView.swift */; };
775+
94B309012A3C910E004C96A4 /* DeviceTransferConversationSelectionToolbarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94B309002A3C910E004C96A4 /* DeviceTransferConversationSelectionToolbarView.xib */; };
775776
94B7643525EA8E9B00EDF9C6 /* CacheableAssetFileDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94B7643425EA8E9B00EDF9C6 /* CacheableAssetFileDescription.swift */; };
776777
94B7B6DC26B43562000B0AC5 /* SilentNotificationMessagePreviewView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 94B7B6DB26B43562000B0AC5 /* SilentNotificationMessagePreviewView.xib */; };
777778
94B7B6DE26B43581000B0AC5 /* SilentNotificationMessagePreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94B7B6DD26B43580000B0AC5 /* SilentNotificationMessagePreviewViewController.swift */; };
@@ -1857,6 +1858,7 @@
18571858
949569A7263B13BF00E043FE /* TranscriptMessageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranscriptMessageViewModel.swift; sourceTree = "<group>"; };
18581859
949A3685261D9C5C004251B2 /* post.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = post.css; sourceTree = "<group>"; };
18591860
94A1B1DE25BFD7CB0098586D /* LinkLocatingTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkLocatingTextView.swift; sourceTree = "<group>"; };
1861+
94B309002A3C910E004C96A4 /* DeviceTransferConversationSelectionToolbarView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DeviceTransferConversationSelectionToolbarView.xib; sourceTree = "<group>"; };
18601862
94B7643425EA8E9B00EDF9C6 /* CacheableAssetFileDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CacheableAssetFileDescription.swift; sourceTree = "<group>"; };
18611863
94B7B6DB26B43562000B0AC5 /* SilentNotificationMessagePreviewView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SilentNotificationMessagePreviewView.xib; sourceTree = "<group>"; };
18621864
94B7B6DD26B43580000B0AC5 /* SilentNotificationMessagePreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SilentNotificationMessagePreviewViewController.swift; sourceTree = "<group>"; };
@@ -2682,6 +2684,7 @@
26822684
7CEB735629DB272F006FB5B2 /* RestoreChatTableViewCell.swift */,
26832685
7CEB735729DB272F006FB5B2 /* RestoreChatTableViewCell.xib */,
26842686
7CE78FB02A30883200FEB942 /* DeviceTransferDateSelectionView.xib */,
2687+
94B309002A3C910E004C96A4 /* DeviceTransferConversationSelectionToolbarView.xib */,
26852688
);
26862689
path = View;
26872690
sourceTree = "<group>";
@@ -4279,6 +4282,7 @@
42794282
DFB18FFC2330E71E0021CAF3 /* AnnouncementView.xib in Resources */,
42804283
7BF52B232199AC2E007A5A74 /* NoTransactionFooterView.xib in Resources */,
42814284
7CE5E7A9269BDA29000B7904 /* HomeAppsPinTipsView.xib in Resources */,
4285+
94B309012A3C910E004C96A4 /* DeviceTransferConversationSelectionToolbarView.xib in Resources */,
42824286
7BD639CB2282B17B00B7B3A6 /* PeerView.xib in Resources */,
42834287
7C4C03A928532D2F003DE0C0 /* PhoneContactCell.xib in Resources */,
42844288
7BE73BFE230A8D0300B97FC6 /* group_separator_2.png in Resources */,

Mixin/UserInterface/Controllers/Common/PeerViewController.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class PeerViewController<ModelType, CellType: PeerCell, SearchResultType: Search
1414
@IBOutlet weak var searchBoxTrailingConstraint: NSLayoutConstraint!
1515
@IBOutlet weak var centerWrapperViewHeightConstraint: NSLayoutConstraint!
1616
@IBOutlet weak var centerWrapperViewBottomConstraint: NSLayoutConstraint!
17+
@IBOutlet weak var tableViewBottomConstraint: NSLayoutConstraint!
1718

1819
let queue = OperationQueue()
1920
let initDataOperation = BlockOperation()

Mixin/UserInterface/Controllers/Common/Views/PeerView.xib

Lines changed: 2 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,13 @@
1111
<objects>
1212
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PeerViewController" customModule="Mixin" customModuleProvider="target">
1313
<connections>
14-
<outlet property="actionView" destination="6Aw-Mg-aU0" id="hVm-HG-unO"/>
1514
<outlet property="centerWrapperView" destination="XLl-Eh-ZIn" id="89v-iQ-htH"/>
1615
<outlet property="centerWrapperViewBottomConstraint" destination="7Ce-TP-0yN" id="hWH-hV-Nvu"/>
1716
<outlet property="centerWrapperViewHeightConstraint" destination="sQY-20-GMS" id="EJV-DX-aTS"/>
18-
<outlet property="hideActionViewConstraint" destination="Lg4-Go-RbG" id="HBI-ea-VQT"/>
19-
<outlet property="operationAllButton" destination="oCu-HN-dC3" id="1qK-Th-J1G"/>
2017
<outlet property="searchBoxTrailingConstraint" destination="8Cf-gO-ALP" id="7Qv-cu-5M0"/>
2118
<outlet property="searchBoxView" destination="SdH-R1-r2F" id="fsr-PS-V7d"/>
22-
<outlet property="showActionViewConstraint" destination="e98-J3-uXg" id="hBl-SG-uwX"/>
23-
<outlet property="showSelectedButton" destination="qyV-mb-Ut8" id="DgC-Qg-eHp"/>
2419
<outlet property="tableView" destination="ZxV-oD-VPR" id="gFi-MX-Y5r"/>
20+
<outlet property="tableViewBottomConstraint" destination="Lg4-Go-RbG" id="JQA-sL-7yE"/>
2521
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
2622
</connections>
2723
</placeholder>
@@ -48,76 +44,25 @@
4844
<rect key="frame" x="0.0" y="100" width="375" height="567"/>
4945
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
5046
</tableView>
51-
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6Aw-Mg-aU0">
52-
<rect key="frame" x="0.0" y="604" width="375" height="63"/>
53-
<subviews>
54-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oCu-HN-dC3">
55-
<rect key="frame" x="20" y="16" width="30" height="32"/>
56-
<fontDescription key="fontDescription" type="system" pointSize="16"/>
57-
<color key="tintColor" name="AccentColor"/>
58-
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
59-
<state key="normal">
60-
<color key="titleColor" name="AccentColor"/>
61-
</state>
62-
<userDefinedRuntimeAttributes>
63-
<userDefinedRuntimeAttribute type="string" keyPath="dynamicTextSize" value="regular16"/>
64-
</userDefinedRuntimeAttributes>
65-
<connections>
66-
<action selector="operationAllAction:" destination="-1" eventType="touchUpInside" id="cme-cc-OlU"/>
67-
</connections>
68-
</button>
69-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qyV-mb-Ut8">
70-
<rect key="frame" x="325" y="16" width="30" height="32"/>
71-
<fontDescription key="fontDescription" type="system" pointSize="16"/>
72-
<color key="tintColor" name="AccentColor"/>
73-
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
74-
<state key="normal">
75-
<color key="titleColor" name="AccentColor"/>
76-
</state>
77-
<userDefinedRuntimeAttributes>
78-
<userDefinedRuntimeAttribute type="string" keyPath="dynamicTextSize" value="regular16"/>
79-
</userDefinedRuntimeAttributes>
80-
<connections>
81-
<action selector="showSelectedAction:" destination="-1" eventType="touchUpInside" id="EeI-Hu-85c"/>
82-
</connections>
83-
</button>
84-
</subviews>
85-
<color key="backgroundColor" name="background"/>
86-
<constraints>
87-
<constraint firstItem="oCu-HN-dC3" firstAttribute="leading" secondItem="6Aw-Mg-aU0" secondAttribute="leading" constant="20" id="8eK-el-Wrx"/>
88-
<constraint firstAttribute="trailing" secondItem="qyV-mb-Ut8" secondAttribute="trailing" constant="20" id="Ak9-7O-DhA"/>
89-
<constraint firstItem="oCu-HN-dC3" firstAttribute="top" secondItem="6Aw-Mg-aU0" secondAttribute="top" constant="16" id="PA8-8Z-CKT"/>
90-
<constraint firstItem="qyV-mb-Ut8" firstAttribute="top" secondItem="6Aw-Mg-aU0" secondAttribute="top" constant="16" id="jLM-xq-YpJ"/>
91-
</constraints>
92-
</view>
9347
</subviews>
9448
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
9549
<color key="backgroundColor" name="background"/>
9650
<constraints>
97-
<constraint firstAttribute="bottom" secondItem="6Aw-Mg-aU0" secondAttribute="bottom" id="1gt-eY-HH7"/>
9851
<constraint firstItem="SdH-R1-r2F" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="20" id="2vl-c4-nbs"/>
99-
<constraint firstItem="6Aw-Mg-aU0" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="5Ol-K7-jyL"/>
10052
<constraint firstItem="ZxV-oD-VPR" firstAttribute="top" secondItem="XLl-Eh-ZIn" secondAttribute="bottom" id="7Ce-TP-0yN"/>
10153
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="SdH-R1-r2F" secondAttribute="trailing" constant="20" id="8Cf-gO-ALP"/>
102-
<constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="oCu-HN-dC3" secondAttribute="bottom" constant="15" id="8mm-EB-ZIv"/>
10354
<constraint firstItem="SdH-R1-r2F" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="20" id="9vi-xC-hPh"/>
10455
<constraint firstItem="XLl-Eh-ZIn" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="HVz-sY-8dJ"/>
105-
<constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="qyV-mb-Ut8" secondAttribute="bottom" constant="15" id="HsJ-BM-APb"/>
10656
<constraint firstAttribute="trailing" secondItem="ZxV-oD-VPR" secondAttribute="trailing" id="JeM-a7-yBf"/>
107-
<constraint firstAttribute="bottom" secondItem="ZxV-oD-VPR" secondAttribute="bottom" priority="750" id="Lg4-Go-RbG"/>
57+
<constraint firstAttribute="bottom" secondItem="ZxV-oD-VPR" secondAttribute="bottom" id="Lg4-Go-RbG"/>
10858
<constraint firstItem="XLl-Eh-ZIn" firstAttribute="top" secondItem="SdH-R1-r2F" secondAttribute="bottom" constant="20" id="MQO-pw-Bzq"/>
10959
<constraint firstItem="ZxV-oD-VPR" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="SEc-BE-O98"/>
110-
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="6Aw-Mg-aU0" secondAttribute="trailing" id="bO1-d4-bmi"/>
111-
<constraint firstItem="6Aw-Mg-aU0" firstAttribute="top" secondItem="ZxV-oD-VPR" secondAttribute="bottom" priority="250" id="e98-J3-uXg"/>
11260
<constraint firstAttribute="trailing" secondItem="XLl-Eh-ZIn" secondAttribute="trailing" id="jYb-EU-nde"/>
11361
</constraints>
11462
<point key="canvasLocation" x="138.40000000000001" y="152.47376311844079"/>
11563
</view>
11664
</objects>
11765
<resources>
118-
<namedColor name="AccentColor">
119-
<color red="0.0" green="0.46000000000000002" blue="0.89000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
120-
</namedColor>
12166
<namedColor name="background">
12267
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
12368
</namedColor>

Mixin/UserInterface/Controllers/DeviceTransfer/DeviceTransferConversationSelectionViewController.swift

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import MixinServices
44

55
class DeviceTransferConversationSelectionViewController: PeerViewController<MessageReceiver, CheckmarkPeerCell, MessageReceiverSearchResult> {
66

7-
@IBOutlet weak var actionView: UIView!
87
@IBOutlet weak var operationAllButton: UIButton!
98
@IBOutlet weak var showSelectedButton: UIButton!
109

11-
@IBOutlet weak var showActionViewConstraint: NSLayoutConstraint!
12-
@IBOutlet weak var hideActionViewConstraint: NSLayoutConstraint!
10+
private var toolbarView: UIView!
11+
private var filter: DeviceTransferFilter.Conversation = .all
12+
private var changeHandler: DeviceTransferFilter.ConversationChangeHandler?
1313

1414
private var selections = [MessageReceiver]() {
1515
didSet {
@@ -25,9 +25,6 @@ class DeviceTransferConversationSelectionViewController: PeerViewController<Mess
2525
}
2626
}
2727

28-
private var filter: DeviceTransferFilter.Conversation = .all
29-
private var changeHandler: DeviceTransferFilter.ConversationChangeHandler?
30-
3128
class func instance(filter: DeviceTransferFilter.Conversation, changeHandler: @escaping DeviceTransferFilter.ConversationChangeHandler) -> UIViewController {
3229
let controller = DeviceTransferConversationSelectionViewController()
3330
controller.filter = filter
@@ -37,9 +34,15 @@ class DeviceTransferConversationSelectionViewController: PeerViewController<Mess
3734

3835
override func viewDidLoad() {
3936
super.viewDidLoad()
40-
actionView.isHidden = false
41-
showActionViewConstraint.priority = .defaultHigh
42-
hideActionViewConstraint.priority = .defaultLow
37+
tableViewBottomConstraint.isActive = false
38+
toolbarView = R.nib.deviceTransferConversationSelectionToolbarView(owner: self)
39+
view.addSubview(toolbarView)
40+
toolbarView.snp.makeConstraints { make in
41+
make.height.equalTo(50)
42+
make.leading.trailing.equalToSuperview()
43+
make.top.equalTo(tableView.snp.bottom)
44+
make.bottom.equalTo(view.safeAreaLayoutGuide.snp.bottom)
45+
}
4346
tableView.allowsMultipleSelection = true
4447
}
4548

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3+
<device id="retina6_12" orientation="portrait" appearance="light"/>
4+
<dependencies>
5+
<deployment identifier="iOS"/>
6+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
7+
<capability name="Named colors" minToolsVersion="9.0"/>
8+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9+
</dependencies>
10+
<objects>
11+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="DeviceTransferConversationSelectionViewController" customModule="Mixin" customModuleProvider="target">
12+
<connections>
13+
<outlet property="operationAllButton" destination="rfT-1y-veu" id="OkV-dN-ofn"/>
14+
<outlet property="showSelectedButton" destination="Csa-YX-P7n" id="lek-Zo-7T4"/>
15+
</connections>
16+
</placeholder>
17+
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
18+
<view contentMode="scaleToFill" id="Ch5-z7-fsr">
19+
<rect key="frame" x="0.0" y="0.0" width="393" height="68"/>
20+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
21+
<subviews>
22+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rfT-1y-veu">
23+
<rect key="frame" x="20" y="18" width="30" height="32"/>
24+
<fontDescription key="fontDescription" type="system" pointSize="16"/>
25+
<color key="tintColor" name="AccentColor"/>
26+
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
27+
<state key="normal">
28+
<color key="titleColor" name="AccentColor"/>
29+
</state>
30+
<userDefinedRuntimeAttributes>
31+
<userDefinedRuntimeAttribute type="string" keyPath="dynamicTextSize" value="regular16"/>
32+
</userDefinedRuntimeAttributes>
33+
<connections>
34+
<action selector="operationAllAction:" destination="-1" eventType="touchUpInside" id="WNu-SW-DiQ"/>
35+
</connections>
36+
</button>
37+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Csa-YX-P7n">
38+
<rect key="frame" x="343" y="18" width="30" height="32"/>
39+
<fontDescription key="fontDescription" type="system" pointSize="16"/>
40+
<color key="tintColor" name="AccentColor"/>
41+
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
42+
<state key="normal">
43+
<color key="titleColor" name="AccentColor"/>
44+
</state>
45+
<userDefinedRuntimeAttributes>
46+
<userDefinedRuntimeAttribute type="string" keyPath="dynamicTextSize" value="regular16"/>
47+
</userDefinedRuntimeAttributes>
48+
<connections>
49+
<action selector="showSelectedAction:" destination="-1" eventType="touchUpInside" id="trA-vN-RoZ"/>
50+
</connections>
51+
</button>
52+
</subviews>
53+
<color key="backgroundColor" name="background"/>
54+
<constraints>
55+
<constraint firstAttribute="trailing" secondItem="Csa-YX-P7n" secondAttribute="trailing" constant="20" id="2Ps-B9-Qrc"/>
56+
<constraint firstItem="Csa-YX-P7n" firstAttribute="centerY" secondItem="Ch5-z7-fsr" secondAttribute="centerY" id="4rv-uO-br2"/>
57+
<constraint firstItem="rfT-1y-veu" firstAttribute="leading" secondItem="Ch5-z7-fsr" secondAttribute="leading" constant="20" id="cDe-u9-gal"/>
58+
<constraint firstItem="rfT-1y-veu" firstAttribute="centerY" secondItem="Ch5-z7-fsr" secondAttribute="centerY" id="lS0-HQ-7yC"/>
59+
</constraints>
60+
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
61+
<point key="canvasLocation" x="-173.2824427480916" y="320.42253521126764"/>
62+
</view>
63+
</objects>
64+
<resources>
65+
<namedColor name="AccentColor">
66+
<color red="0.0" green="0.46000000000000002" blue="0.89000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
67+
</namedColor>
68+
<namedColor name="background">
69+
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
70+
</namedColor>
71+
</resources>
72+
</document>

0 commit comments

Comments
 (0)