mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
RoomVC: Improve RoomContextualMenuPresenter loading speed.
This commit is contained in:
@@ -96,13 +96,32 @@ final class ReactionsMenuView: UIView, Themable, NibLoadable {
|
||||
|
||||
self.reactionsStackView.vc_removeAllSubviews()
|
||||
|
||||
let reactionsStackViewCount = self.reactionsStackView.arrangedSubviews.count
|
||||
|
||||
// Remove all menu buttons if reactions count has changed
|
||||
if reactionsStackViewCount != self.reactionViewDatas.count {
|
||||
self.reactionsStackView.vc_removeAllSubviews()
|
||||
}
|
||||
|
||||
var index = 0
|
||||
|
||||
for reactionViewData in self.reactionViewDatas {
|
||||
let reactionsMenuButton = ReactionsMenuButton()
|
||||
|
||||
let reactionsMenuButton: ReactionsMenuButton
|
||||
|
||||
if index < reactionsStackViewCount, let foundReactionsMenuButton = self.reactionsStackView.arrangedSubviews[index] as? ReactionsMenuButton {
|
||||
reactionsMenuButton = foundReactionsMenuButton
|
||||
} else {
|
||||
reactionsMenuButton = ReactionsMenuButton()
|
||||
reactionsMenuButton.addTarget(self, action: #selector(reactionButtonAction), for: .touchUpInside)
|
||||
self.reactionsStackView.addArrangedSubview(reactionsMenuButton)
|
||||
self.reactionButtons.append(reactionsMenuButton)
|
||||
}
|
||||
|
||||
reactionsMenuButton.setTitle(reactionViewData.emoji, for: .normal)
|
||||
reactionsMenuButton.isSelected = reactionViewData.isSelected
|
||||
reactionsMenuButton.addTarget(self, action: #selector(reactionButtonAction), for: .touchUpInside)
|
||||
self.reactionsStackView.addArrangedSubview(reactionsMenuButton)
|
||||
self.reactionButtons.append(reactionsMenuButton)
|
||||
|
||||
index+=1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,72 +20,6 @@
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="uzd-VB-mKT">
|
||||
<rect key="frame" x="5" y="5" width="449" height="49"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7a6-zJ-2tf" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="👍">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mHT-t1-k2f" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="56.5" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="👎">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="InP-XP-sh8" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="113" y="0.0" width="54" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="🙂">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sbZ-tR-mCf" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="169" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="🎉">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4ze-DN-PCw" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="225.5" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="🙁">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KFI-G0-oyg" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="282" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="❤️">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ren-Yo-15Q" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="338.5" y="0.0" width="54" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="🚀">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="M0A-Tx-Jz9" customClass="ReactionsMenuButton" customModule="Riot" customModuleProvider="target">
|
||||
<rect key="frame" x="394.5" y="0.0" width="54.5" height="49"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="24"/>
|
||||
<state key="normal" title="👀">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
||||
Reference in New Issue
Block a user