forked from mirrors/linphone-iphone
Call: fix video view
This commit is contained in:
parent
86a75dc9c0
commit
5cdda1b6e0
11 changed files with 544 additions and 534 deletions
|
|
@ -8,6 +8,7 @@
|
|||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CallView">
|
||||
<connections>
|
||||
<outlet property="avatarImage" destination="fZy-K5-yQp" id="hOl-IQ-c9B"/>
|
||||
<outlet property="bottomBar" destination="mga-O5-mUn" id="ObF-wX-nBD"/>
|
||||
<outlet property="callView" destination="9" id="TKY-dp-lKv"/>
|
||||
<outlet property="conferenceCallsTable" destination="sif-q0-7oE" id="Fjr-dB-s4q"/>
|
||||
<outlet property="conferenceView" destination="0Ju-u5-N7A" id="H5K-Nv-IKI"/>
|
||||
|
|
@ -41,6 +42,7 @@
|
|||
<outlet property="sixButton" destination="0fB-uk-rXS" id="L9Y-dc-TBo"/>
|
||||
<outlet property="speakerButton" destination="F5S-kV-7Kv" id="dqI-kU-8xY"/>
|
||||
<outlet property="starButton" destination="prH-qj-h0v" id="2cm-sA-fTV"/>
|
||||
<outlet property="tabBarView" destination="euJ-A4-7ch" id="0R6-0L-tfw"/>
|
||||
<outlet property="threeButton" destination="R2h-PD-GN2" id="6DQ-Cw-Okc"/>
|
||||
<outlet property="twoButton" destination="U6v-Cg-9b8" id="Re4-oW-yjl"/>
|
||||
<outlet property="videoButton" destination="HDb-mD-sWV" id="EUO-MD-lae"/>
|
||||
|
|
@ -101,23 +103,9 @@
|
|||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="9" userLabel="callView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000043115023"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000022011619"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="John Doe" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="19" id="KPa-Rm-Qni" userLabel="nameLabel">
|
||||
<rect key="frame" x="46" y="49" width="283" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="37"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01:34" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Oy8-QO-Jwb" userLabel="durationLabel">
|
||||
<rect key="frame" x="0.0" y="80" width="375" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" tag="7" contentMode="scaleAspectFit" image="avatar.png" id="fZy-K5-yQp" userLabel="avatarImage" customClass="UIRoundedImageView">
|
||||
<rect key="frame" x="46" y="126" width="283" height="283"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
|
|
@ -126,17 +114,17 @@
|
|||
<bool key="isElement" value="YES"/>
|
||||
</accessibility>
|
||||
</imageView>
|
||||
<view hidden="YES" contentMode="scaleToFill" id="126" userLabel="video">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000043115023"/>
|
||||
<view alpha="0.0" contentMode="scaleToFill" id="126" userLabel="video">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000022011619"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="173" userLabel="background">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000043115023"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000022011619"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="132" userLabel="display">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000043115023"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="499.00000022011619"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
|
|
@ -144,7 +132,7 @@
|
|||
</accessibility>
|
||||
</view>
|
||||
<view contentMode="scaleAspectFit" id="127" userLabel="preview">
|
||||
<rect key="frame" x="254" y="352" width="113" height="139.00000012205678"/>
|
||||
<rect key="frame" x="254.00000029960563" y="352" width="113" height="139.00000006231394"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
|
|
@ -153,7 +141,7 @@
|
|||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
</activityIndicatorView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="160" userLabel="videoCameraSwitch" customClass="UICamSwitch">
|
||||
<rect key="frame" x="30" y="50" width="52" height="52"/>
|
||||
<rect key="frame" x="65" y="80" width="52" height="52"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Switch camera"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||
|
|
@ -170,6 +158,22 @@
|
|||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" alpha="0.79999999999999982" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01:34" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" id="Oy8-QO-Jwb" userLabel="durationLabel">
|
||||
<rect key="frame" x="0.0" y="40" width="375" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" alpha="0.79999999999999982" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="John Doe" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="19" id="KPa-Rm-Qni" userLabel="nameLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="35"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view hidden="YES" alpha="0.80000000000000004" contentMode="scaleToFill" id="0MR-ml-8RY" userLabel="pausedByRemoteView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="503"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
|
|
@ -189,8 +193,8 @@
|
|||
<color key="backgroundColor" red="0.2666666667" green="0.2666666667" blue="0.2666666667" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
<button opaque="NO" tag="24" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="7f5-7T-fV3" userLabel="pauseButton" customClass="UIPauseButton">
|
||||
<rect key="frame" x="310" y="366.00000043115023" width="52" height="52"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<rect key="frame" x="258" y="80" width="52" height="52"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Pause"/>
|
||||
<state key="normal" image="pause_big_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
|
|
@ -230,375 +234,381 @@
|
|||
<outlet property="delegate" destination="162" id="169"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<view hidden="YES" alpha="0.79999999999999982" contentMode="scaleToFill" id="ukG-i4-YMY" userLabel="numpadView">
|
||||
<rect key="frame" x="0.0" y="71" width="375" height="428"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<view userInteractionEnabled="NO" contentMode="scaleToFill" id="euJ-A4-7ch" userLabel="tabBarView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="625"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="qZ8-m9-B0N" userLabel="1" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="120" height="102"/>
|
||||
<view hidden="YES" alpha="0.79999999999999982" contentMode="scaleToFill" id="ukG-i4-YMY" userLabel="numpadView">
|
||||
<rect key="frame" x="0.0" y="71" width="375" height="539"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.40000001000000002" green="1" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="1"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_1.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="U6v-Cg-9b8" userLabel="2" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="0.0" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="2"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_2.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="653-Vb-YzA" userLabel="4" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="108" width="120" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="4"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_4.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="8Da-zK-V7e" userLabel="5" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="108" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_5.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="0fB-uk-rXS" userLabel="6" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="108" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="6"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_6.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="alZ-Kz-AVL" userLabel="7" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="215" width="120" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="7"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_7.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="DRh-kc-UVM" userLabel="8" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="215" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="8"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_8.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="b8R-7P-jHK" userLabel="9" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="215" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="9"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_9.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="prH-qj-h0v" userLabel="*" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="323" width="120" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Star"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_star.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="CUt-2U-nro" userLabel="0" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="323" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="0"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_0.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="DqJ-35-h1Y" userLabel="#" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="323" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hash"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_hash.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="R2h-PD-GN2" userLabel="3" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="0.0" width="121" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="3"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_3.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<view hidden="YES" tag="33" contentMode="scaleToFill" id="qcR-Qb-Bst" userLabel="routesView">
|
||||
<rect key="frame" x="188" y="301" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="bqu-n4-WSS" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="30" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="6uv-FV-mUL" userLabel="routesBluetoothButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Bluetooth"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_bluetooth_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="route_bluetooth_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="selected" image="route_bluetooth_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRoutesBluetoothClick:" destination="-1" eventType="touchUpInside" id="jQt-8b-aEw"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="31" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="jSA-bD-bCs" userLabel="routesEarpieceButton">
|
||||
<rect key="frame" x="0.0" y="66" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Receiver"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_earpiece_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="route_earpiece_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="selected" image="route_earpiece_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRoutesEarpieceClick:" destination="-1" eventType="touchUpInside" id="RqY-KM-K7M"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="32" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="go9-SC-yzb" userLabel="routesSpeakerButton">
|
||||
<rect key="frame" x="0.0" y="132" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Speaker"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_speaker_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="route_speaker_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="selected" image="route_speaker_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRoutesSpeakerClick:" destination="-1" eventType="touchUpInside" id="BPD-uO-J2t"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<view tag="15" contentMode="scaleToFill" id="sHZ-53-Hta" userLabel="optionsView">
|
||||
<rect key="frame" x="282" y="301" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="WcD-wQ-0ml" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="25" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="06a-kv-hpZ" userLabel="optionConferenceButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Start conference"/>
|
||||
<state key="normal" image="conference_start_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="conference_start_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onOptionsConferenceClick:" destination="-1" eventType="touchUpInside" id="bQP-ga-R2R"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="17" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="reb-7F-UDV" userLabel="optionsAddButton">
|
||||
<rect key="frame" x="0.0" y="66" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Add call"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_add_call_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="options_add_call_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onOptionsAddClick:" destination="-1" eventType="touchUpInside" id="diW-wF-VRO"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="16" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="S0k-bn-1bs" userLabel="optionsTransferButton">
|
||||
<rect key="frame" x="0.0" y="132" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Transfer call"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_transfer_call_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="options_transfer_call_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onOptionsTransferClick:" destination="-1" eventType="touchUpInside" id="lJX-ud-MuS"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<view tag="18" contentMode="scaleToFill" id="mga-O5-mUn" userLabel="bottomBar">
|
||||
<rect key="frame" x="0.0" y="499" width="375" height="126"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="OIH-ek-VgL" userLabel="higherBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="Zhw-AK-YsQ" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="qZ8-m9-B0N" userLabel="1" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="120" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.40000001000000002" green="1" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="1"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_1.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="U6v-Cg-9b8" userLabel="2" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="0.0" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="2"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_2.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="653-Vb-YzA" userLabel="4" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="137" width="120" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="4"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_4.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="8Da-zK-V7e" userLabel="5" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="137" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_5.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="0fB-uk-rXS" userLabel="6" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="137" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="6"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_6.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="alZ-Kz-AVL" userLabel="7" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="271" width="120" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="7"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_7.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="DRh-kc-UVM" userLabel="8" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="271" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="8"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_8.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="b8R-7P-jHK" userLabel="9" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="271" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="9"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_9.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="prH-qj-h0v" userLabel="*" customClass="UIDigitButton">
|
||||
<rect key="frame" x="0.0" y="406" width="120" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Star"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_star.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="CUt-2U-nro" userLabel="0" customClass="UIDigitButton">
|
||||
<rect key="frame" x="127" y="406" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="0"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_0.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="DqJ-35-h1Y" userLabel="#" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="406" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hash"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_hash.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="R2h-PD-GN2" userLabel="3" customClass="UIDigitButton">
|
||||
<rect key="frame" x="254" y="0.0" width="121" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="3"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<state key="normal" image="numpad_3.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<view hidden="YES" tag="33" contentMode="scaleToFill" id="qcR-Qb-Bst" userLabel="routesView">
|
||||
<rect key="frame" x="188" y="301" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="bqu-n4-WSS" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="19" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="HDb-mD-sWV" userLabel="videoButton" customClass="UIVideoButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Video"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="camera_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="camera_disabled.png"/>
|
||||
<state key="selected" image="camera_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<outlet property="waitView" destination="HIj-5b-rGP" id="wfm-ep-9QC"/>
|
||||
</connections>
|
||||
</button>
|
||||
<activityIndicatorView hidden="YES" opaque="NO" tag="20" contentMode="scaleToFill" hidesWhenStopped="YES" style="whiteLarge" id="HIj-5b-rGP" userLabel="videoWaitView">
|
||||
<rect key="frame" x="26" y="15" width="37" height="37"/>
|
||||
<button opaque="NO" tag="30" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="6uv-FV-mUL" userLabel="routesBluetoothButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</activityIndicatorView>
|
||||
<button opaque="NO" tag="21" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="pRH-Ao-h65" userLabel="microButton" customClass="UIMicroButton">
|
||||
<rect key="frame" x="94" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Micro"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="micro_default.png">
|
||||
<accessibility key="accessibilityConfiguration" label="Bluetooth"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_bluetooth_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="micro_disabled.png"/>
|
||||
<state key="selected" image="micro_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button opaque="NO" tag="22" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="F5S-kV-7Kv" userLabel="speakerButton" customClass="UISpeakerButton">
|
||||
<rect key="frame" x="188" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Speaker"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="speaker_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<state key="disabled" image="route_bluetooth_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="speaker_disabled.png"/>
|
||||
<state key="selected" image="speaker_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="29" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="nQp-5y-kTy" userLabel="routesButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="188" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Route"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="routes_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<state key="selected" image="route_bluetooth_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="routes_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onRoutesClick:" destination="-1" eventType="touchUpInside" id="h2V-qf-kgC"/>
|
||||
<action selector="onRoutesBluetoothClick:" destination="-1" eventType="touchUpInside" id="jQt-8b-aEw"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="23" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="8Zx-MI-pUL" userLabel="optionsButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="282" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Options"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_default.png">
|
||||
<button opaque="NO" tag="31" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="jSA-bD-bCs" userLabel="routesEarpieceButton">
|
||||
<rect key="frame" x="0.0" y="66" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Receiver"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_earpiece_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="options_disabled.png"/>
|
||||
<state key="selected" image="options_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<state key="disabled" image="route_earpiece_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="selected" image="route_earpiece_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onOptionsClick:" destination="-1" eventType="touchUpInside" id="KZw-2M-V7E"/>
|
||||
<action selector="onRoutesEarpieceClick:" destination="-1" eventType="touchUpInside" id="RqY-KM-K7M"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="32" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="go9-SC-yzb" userLabel="routesSpeakerButton">
|
||||
<rect key="frame" x="0.0" y="132" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Speaker"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="route_speaker_default.png">
|
||||
<color key="titleColor" red="0.25490196079999999" green="0.28235294119999998" blue="0.30980392159999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="route_speaker_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="selected" image="route_speaker_selected.png"/>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" red="0.81176470590000005" green="0.29803921570000003" blue="0.16078431369999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRoutesSpeakerClick:" destination="-1" eventType="touchUpInside" id="BPD-uO-J2t"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="8q9-3P-Fz0" userLabel="lowerBar">
|
||||
<rect key="frame" x="0.0" y="63" width="375" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<view tag="15" contentMode="scaleToFill" id="sHZ-53-Hta" userLabel="optionsView">
|
||||
<rect key="frame" x="282" y="301" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" tag="27" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="SRu-dB-r3e" userLabel="numpadButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<state key="normal" image="footer_dialer_default.png" backgroundImage="color_C.png">
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="WcD-wQ-0ml" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="198"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="25" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="06a-kv-hpZ" userLabel="optionConferenceButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Start conference"/>
|
||||
<state key="normal" image="conference_start_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="footer_dialer_disabled.png"/>
|
||||
<state key="selected" image="dialer_alt_back_default.png"/>
|
||||
<state key="disabled" image="conference_start_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onNumpadClick:" destination="-1" eventType="touchUpInside" id="pFD-jh-GhK"/>
|
||||
<action selector="onOptionsConferenceClick:" destination="-1" eventType="touchUpInside" id="bQP-ga-R2R"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="26" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Xpw-A4-BZO" userLabel="hangupButton" customClass="UIHangUpButton">
|
||||
<rect key="frame" x="94" y="0.0" width="187" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hangup"/>
|
||||
<state key="normal" image="call_hangup_default.png" backgroundImage="color_D.png">
|
||||
<button opaque="NO" tag="17" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="reb-7F-UDV" userLabel="optionsAddButton">
|
||||
<rect key="frame" x="0.0" y="66" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Add call"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_add_call_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button opaque="NO" tag="26" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="t7u-65-OPV" userLabel="chatButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="281" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hangup"/>
|
||||
<state key="normal" image="footer_chat_default.png" backgroundImage="color_C.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<state key="disabled" image="options_add_call_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onChatClick:" destination="-1" eventType="touchUpInside" id="Jdk-1s-UnN"/>
|
||||
<action selector="onOptionsAddClick:" destination="-1" eventType="touchUpInside" id="diW-wF-VRO"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="16" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" id="S0k-bn-1bs" userLabel="optionsTransferButton">
|
||||
<rect key="frame" x="0.0" y="132" width="94" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Transfer call"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="28" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_transfer_call_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="options_transfer_call_disabled.png">
|
||||
<color key="titleColor" red="0.65098039220000004" green="0.70196078429999997" blue="0.74901960779999999" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onOptionsTransferClick:" destination="-1" eventType="touchUpInside" id="lJX-ud-MuS"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<view tag="18" contentMode="scaleToFill" id="mga-O5-mUn" userLabel="bottomBar">
|
||||
<rect key="frame" x="0.0" y="499" width="375" height="126"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="OIH-ek-VgL" userLabel="higherBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="Zhw-AK-YsQ" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="19" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="HDb-mD-sWV" userLabel="videoButton" customClass="UIVideoButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Video"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="camera_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="camera_disabled.png"/>
|
||||
<state key="selected" image="camera_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<outlet property="waitView" destination="HIj-5b-rGP" id="wfm-ep-9QC"/>
|
||||
</connections>
|
||||
</button>
|
||||
<activityIndicatorView hidden="YES" opaque="NO" tag="20" contentMode="scaleToFill" hidesWhenStopped="YES" style="whiteLarge" id="HIj-5b-rGP" userLabel="videoWaitView">
|
||||
<rect key="frame" x="26" y="15" width="37" height="37"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</activityIndicatorView>
|
||||
<button opaque="NO" tag="21" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="pRH-Ao-h65" userLabel="microButton" customClass="UIMicroButton">
|
||||
<rect key="frame" x="94" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Micro"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="micro_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="micro_disabled.png"/>
|
||||
<state key="selected" image="micro_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button opaque="NO" tag="22" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="F5S-kV-7Kv" userLabel="speakerButton" customClass="UISpeakerButton">
|
||||
<rect key="frame" x="188" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Speaker"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="speaker_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="speaker_disabled.png"/>
|
||||
<state key="selected" image="speaker_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="29" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="nQp-5y-kTy" userLabel="routesButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="188" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Route"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="routes_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="routes_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onRoutesClick:" destination="-1" eventType="touchUpInside" id="h2V-qf-kgC"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="23" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="8Zx-MI-pUL" userLabel="optionsButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="282" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Options"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="38" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="options_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="options_disabled.png"/>
|
||||
<state key="selected" image="options_selected.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onOptionsClick:" destination="-1" eventType="touchUpInside" id="KZw-2M-V7E"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="8q9-3P-Fz0" userLabel="lowerBar">
|
||||
<rect key="frame" x="0.0" y="63" width="375" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" tag="27" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="SRu-dB-r3e" userLabel="numpadButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<state key="normal" image="footer_dialer_default.png" backgroundImage="color_C.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="footer_dialer_disabled.png"/>
|
||||
<state key="selected" image="dialer_alt_back_default.png"/>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onNumpadClick:" destination="-1" eventType="touchUpInside" id="pFD-jh-GhK"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="26" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Xpw-A4-BZO" userLabel="hangupButton" customClass="UIHangUpButton">
|
||||
<rect key="frame" x="94" y="0.0" width="187" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hangup"/>
|
||||
<state key="normal" image="call_hangup_default.png" backgroundImage="color_D.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
</button>
|
||||
<button opaque="NO" tag="26" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="t7u-65-OPV" userLabel="chatButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="281" y="0.0" width="94" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Hangup"/>
|
||||
<state key="normal" image="footer_chat_default.png" backgroundImage="color_C.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_L.png"/>
|
||||
<connections>
|
||||
<action selector="onChatClick:" destination="-1" eventType="touchUpInside" id="Jdk-1s-UnN"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
</subviews>
|
||||
</view>
|
||||
</subviews>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
@property(nonatomic, strong) IBOutlet UIView *videoPreview;
|
||||
@property(nonatomic, strong) IBOutlet UICamSwitch *videoCameraSwitch;
|
||||
@property(nonatomic, strong) IBOutlet UIActivityIndicatorView *videoWaitingForFirstImage;
|
||||
@property(weak, nonatomic) IBOutlet UIView *tabBarView;
|
||||
|
||||
@property(weak, nonatomic) IBOutlet UIView *callView;
|
||||
|
||||
|
|
@ -71,6 +72,7 @@
|
|||
@property(nonatomic, strong) IBOutlet UIButton *optionsTransferButton;
|
||||
@property(nonatomic, strong) IBOutlet UIToggleButton *numpadButton;
|
||||
|
||||
@property(weak, nonatomic) IBOutlet UIView *bottomBar;
|
||||
@property(nonatomic, strong) IBOutlet UIDigitButton *oneButton;
|
||||
@property(nonatomic, strong) IBOutlet UIDigitButton *twoButton;
|
||||
@property(nonatomic, strong) IBOutlet UIDigitButton *threeButton;
|
||||
|
|
|
|||
|
|
@ -48,13 +48,6 @@ const NSInteger SECURE_BUTTON_TAG = 5;
|
|||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[PhoneMainView.instance.view removeGestureRecognizer:singleFingerTap];
|
||||
|
||||
// Remove all observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
|
@ -205,8 +198,10 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
[PhoneMainView.instance.view removeGestureRecognizer:singleFingerTap];
|
||||
// Remove all observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[super viewDidUnload];
|
||||
}
|
||||
|
||||
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
|
||||
|
|
@ -289,13 +284,20 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
if ([[PhoneMainView.instance currentView] equal:CallView.compositeViewDescription] && videoShown) {
|
||||
// show controls
|
||||
|
||||
[UIView beginAnimations:nil context:nil];
|
||||
[UIView setAnimationDuration:0.3];
|
||||
[UIView setAnimationDuration:0.35];
|
||||
_pausedCallsTable.tableView.alpha = _videoCameraSwitch.alpha = _tabBarView.alpha = _pauseButton.alpha = 1.0;
|
||||
_nameLabel.alpha = _durationLabel.alpha = .3;
|
||||
|
||||
CGRect newFrame = self.view.frame;
|
||||
newFrame.size.height -= _bottomBar.frame.size.height;
|
||||
_callView.frame = newFrame;
|
||||
|
||||
[UIView commitAnimations];
|
||||
|
||||
[PhoneMainView.instance showTabBar:true];
|
||||
[PhoneMainView.instance showStatusBar:true];
|
||||
[_pausedCallsTable.tableView setAlpha:1.0];
|
||||
[_videoCameraSwitch setAlpha:1.0];
|
||||
[UIView commitAnimations];
|
||||
|
||||
// hide controls in 5 sec
|
||||
hideControlsTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
|
||||
|
|
@ -313,14 +315,17 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
if ([[PhoneMainView.instance currentView] equal:CallView.compositeViewDescription] && videoShown) {
|
||||
[UIView beginAnimations:nil context:nil];
|
||||
[UIView setAnimationDuration:0.3];
|
||||
[_videoCameraSwitch setAlpha:0.0];
|
||||
[_pausedCallsTable.tableView setAlpha:0.0];
|
||||
[UIView commitAnimations];
|
||||
|
||||
[PhoneMainView.instance showTabBar:false];
|
||||
[PhoneMainView.instance showStatusBar:false];
|
||||
|
||||
[UIView beginAnimations:nil context:nil];
|
||||
[UIView setAnimationDuration:0.3];
|
||||
_pausedCallsTable.tableView.alpha = _videoCameraSwitch.alpha = _tabBarView.alpha = _nameLabel.alpha =
|
||||
_durationLabel.alpha = _pauseButton.alpha = 0.0;
|
||||
CGRect newFrame = self.view.frame;
|
||||
_callView.frame = newFrame;
|
||||
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -338,27 +343,19 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
[_videoGroup setAlpha:1.0];
|
||||
[_pausedCallsTable.tableView setAlpha:0.0];
|
||||
|
||||
// UIEdgeInsets insets = {33, 0, 25, 0};
|
||||
// [_pausedCallsTableView.tableView setContentInset:insets];
|
||||
// [_pausedCallsTableView.tableView setScrollIndicatorInsets:insets];
|
||||
[self hideControls:nil];
|
||||
|
||||
if (animation) {
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
if (linphone_core_self_view_enabled([LinphoneManager getLc])) {
|
||||
[_videoPreview setHidden:FALSE];
|
||||
} else {
|
||||
[_videoPreview setHidden:TRUE];
|
||||
}
|
||||
_videoPreview.hidden = (!linphone_core_self_view_enabled([LinphoneManager getLc]));
|
||||
|
||||
if ([LinphoneManager instance].frontCamId != nil) {
|
||||
// only show camera switch button if we have more than 1 camera
|
||||
[_videoCameraSwitch setHidden:FALSE];
|
||||
}
|
||||
[_videoCameraSwitch setAlpha:0.0];
|
||||
|
||||
[PhoneMainView.instance fullScreen:true];
|
||||
[PhoneMainView.instance showTabBar:false];
|
||||
|
|
@ -396,7 +393,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[_videoGroup setAlpha:0.0];
|
||||
[PhoneMainView.instance showTabBar:true];
|
||||
|
||||
[_pausedCallsTable.tableView setAlpha:1.0];
|
||||
[self showControls:nil];
|
||||
|
||||
[_videoCameraSwitch setHidden:TRUE];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="8191" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<development version="6000" identifier="xcode"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UICompositeView">
|
||||
|
|
@ -84,4 +83,9 @@
|
|||
</connections>
|
||||
</swipeGestureRecognizer>
|
||||
</objects>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
const LinphoneAddress *addr = linphone_call_get_remote_address(call);
|
||||
[ContactDisplay setDisplayNameLabel:_nameLabel forAddress:addr];
|
||||
|
||||
[_avatarImage setImage:[FastAddressBook imageForAddress:addr thumbnail:NO] bordered:YES withRoundedRadius:YES];
|
||||
[_avatarImage setImage:[FastAddressBook imageForAddress:addr thumbnail:YES] bordered:NO withRoundedRadius:YES];
|
||||
|
||||
_durationLabel.text = [LinphoneUtils durationToString:linphone_call_get_duration(call)];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
</label>
|
||||
<button opaque="NO" tag="24" contentMode="scaleToFill" selected="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Izu-Zj-sHi" userLabel="pauseButton" customClass="UIPauseButton">
|
||||
<rect key="frame" x="322" y="3" width="45" height="45"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Pause"/>
|
||||
<state key="normal" image="pause_small_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</button>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="tZi-KI-viq" userLabel="durationLabel">
|
||||
<rect key="frame" x="245" y="7" width="69" height="37"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name"/>
|
||||
<attributedString key="attributedText">
|
||||
<fragment content="00:02:15">
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</objects>
|
||||
<resources>
|
||||
<image name="avatar.png" width="255" height="255"/>
|
||||
<image name="color_A.png" width="1" height="1"/>
|
||||
<image name="color_A.png" width="2" height="2"/>
|
||||
<image name="pause_small_default.png" width="34" height="34"/>
|
||||
<image name="pause_small_disabled.png" width="34" height="34"/>
|
||||
<image name="pause_small_over_selected.png" width="34" height="34"/>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@
|
|||
|
||||
@property(strong) NSString *content;
|
||||
@property(strong) NSString *statusBar;
|
||||
@property(assign) BOOL statusBarEnabled;
|
||||
@property(strong) NSString *tabBar;
|
||||
@property(assign) BOOL tabBarEnabled;
|
||||
@property(assign) BOOL fullscreen;
|
||||
@property(assign) BOOL landscapeMode;
|
||||
@property(assign) BOOL portraitMode;
|
||||
|
|
@ -68,9 +70,9 @@
|
|||
@property(strong, nonatomic) IBOutlet UIView *sideMenuView;
|
||||
|
||||
- (void)changeView:(UICompositeViewDescription *)description;
|
||||
- (void)setFullScreen:(BOOL)enabled;
|
||||
- (void)setFullscreen:(BOOL)enabled;
|
||||
- (void)hideStatusBar:(BOOL)hidden;
|
||||
- (void)hideTopBar:(BOOL)hidden;
|
||||
- (void)hideTabBar:(BOOL)hidden;
|
||||
- (void)hideSideMenu:(BOOL)hidden;
|
||||
- (BOOL)currentViewSupportsLandscape;
|
||||
- (UIViewController *)getCachedController:(NSString *)name;
|
||||
|
|
|
|||
|
|
@ -25,18 +25,13 @@
|
|||
|
||||
@implementation UICompositeViewDescription
|
||||
|
||||
@synthesize content;
|
||||
@synthesize statusBar;
|
||||
@synthesize tabBar;
|
||||
@synthesize fullscreen;
|
||||
@synthesize landscapeMode;
|
||||
@synthesize portraitMode;
|
||||
|
||||
- (id)copy {
|
||||
UICompositeViewDescription *copy = [UICompositeViewDescription alloc];
|
||||
copy.content = self.content;
|
||||
copy.statusBar = self.statusBar;
|
||||
copy.statusBarEnabled = self.statusBarEnabled;
|
||||
copy.tabBar = self.tabBar;
|
||||
copy.tabBarEnabled = self.tabBarEnabled;
|
||||
copy.fullscreen = self.fullscreen;
|
||||
copy.landscapeMode = self.landscapeMode;
|
||||
copy.portraitMode = self.portraitMode;
|
||||
|
|
@ -48,18 +43,20 @@
|
|||
return [self.content compare:description.content] == NSOrderedSame;
|
||||
}
|
||||
|
||||
- (id)init:(Class)acontent
|
||||
statusBar:(Class)astatusBar
|
||||
tabBar:(Class)atabBar
|
||||
fullscreen:(BOOL)afullscreen
|
||||
landscapeMode:(BOOL)alandscapeMode
|
||||
portraitMode:(BOOL)aportraitMode {
|
||||
self.content = NSStringFromClass(acontent);
|
||||
self.statusBar = NSStringFromClass(astatusBar);
|
||||
self.tabBar = NSStringFromClass(atabBar);
|
||||
self.fullscreen = afullscreen;
|
||||
self.landscapeMode = alandscapeMode;
|
||||
self.portraitMode = aportraitMode;
|
||||
- (id)init:(Class)content
|
||||
statusBar:(Class)statusBar
|
||||
tabBar:(Class)tabBar
|
||||
fullscreen:(BOOL)fullscreen
|
||||
landscapeMode:(BOOL)landscapeMode
|
||||
portraitMode:(BOOL)portraitMode {
|
||||
self.content = NSStringFromClass(content);
|
||||
self.statusBar = NSStringFromClass(statusBar);
|
||||
self.statusBarEnabled = YES;
|
||||
self.tabBar = NSStringFromClass(tabBar);
|
||||
self.tabBarEnabled = YES;
|
||||
self.fullscreen = fullscreen;
|
||||
self.landscapeMode = landscapeMode;
|
||||
self.portraitMode = portraitMode;
|
||||
self.darkBackground = false;
|
||||
|
||||
return self;
|
||||
|
|
@ -77,16 +74,6 @@
|
|||
|
||||
@implementation UICompositeView
|
||||
|
||||
@synthesize statusBarView;
|
||||
@synthesize contentView;
|
||||
@synthesize tabBarView;
|
||||
@synthesize tabBarViewController = _tabBarViewController;
|
||||
@synthesize statusBarViewController = _statusBarViewController;
|
||||
@synthesize contentViewController = _contentViewController;
|
||||
@synthesize sideMenuViewController = _sideMenuViewController;
|
||||
|
||||
@synthesize viewTransition;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (void)initUICompositeView {
|
||||
|
|
@ -122,20 +109,6 @@
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
#pragma mark - Property Functions
|
||||
|
||||
- (UIViewController *)statusBarViewController {
|
||||
return _statusBarViewController;
|
||||
}
|
||||
|
||||
- (UIViewController *)contentViewController {
|
||||
return _contentViewController;
|
||||
}
|
||||
|
||||
- (UIViewController *)tabBarViewController {
|
||||
return _tabBarViewController;
|
||||
}
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)updateViewsFramesAccordingToLaunchOrientation {
|
||||
|
|
@ -163,12 +136,12 @@
|
|||
|
||||
- (void)viewDidLoad {
|
||||
/* Force landscape view to match portrait view, because portrait view inherits
|
||||
the device screen size at load */
|
||||
the device screen size at load */
|
||||
[self updateViewsFramesAccordingToLaunchOrientation];
|
||||
[super viewDidLoad];
|
||||
|
||||
_sideMenuViewController = [self getCachedController:NSStringFromClass(SideMenuView.class)];
|
||||
[UICompositeView addSubView:_sideMenuViewController view:_sideMenuView];
|
||||
[UICompositeView addSubView:_sideMenuViewController view:self.sideMenuView];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
|
|
@ -176,7 +149,7 @@
|
|||
[self.contentViewController viewWillAppear:animated];
|
||||
[self.tabBarViewController viewWillAppear:animated];
|
||||
[self.statusBarViewController viewWillAppear:animated];
|
||||
|
||||
[self.sideMenuViewController viewWillAppear:animated];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(orientationDidChange:)
|
||||
name:UIDeviceOrientationDidChangeNotification
|
||||
|
|
@ -293,46 +266,47 @@
|
|||
[firstResponder resignFirstResponder];
|
||||
[firstResponder becomeFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
+ (UIView *)findFirstResponder:(UIView *)view {
|
||||
if (view.isFirstResponder) {
|
||||
return view;
|
||||
}
|
||||
for (UIView *subView in view.subviews) {
|
||||
UIView *ret = [UICompositeView findFirstResponder:subView];
|
||||
if (ret != nil)
|
||||
return ret;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)clearCache:(NSArray *)exclude {
|
||||
for (NSString *key in [viewControllerCache allKeys]) {
|
||||
bool remove = true;
|
||||
if (exclude != nil) {
|
||||
for (UICompositeViewDescription *description in exclude) {
|
||||
if ([key isEqualToString:description.content] || [key isEqualToString:description.statusBar] ||
|
||||
[key isEqualToString:description.tabBar]) {
|
||||
remove = false;
|
||||
break;
|
||||
+ (UIView *)findFirstResponder:(UIView *)view {
|
||||
if (view.isFirstResponder) {
|
||||
return view;
|
||||
}
|
||||
for (UIView *subView in view.subviews) {
|
||||
UIView *ret = [UICompositeView findFirstResponder:subView];
|
||||
if (ret != nil)
|
||||
return ret;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)clearCache:(NSArray *)exclude {
|
||||
for (NSString *key in [viewControllerCache allKeys]) {
|
||||
bool remove = true;
|
||||
if (exclude != nil) {
|
||||
for (UICompositeViewDescription *description in exclude) {
|
||||
if ([key isEqualToString:description.content] || [key isEqualToString:description.statusBar] ||
|
||||
[key isEqualToString:description.tabBar]) {
|
||||
remove = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (remove) {
|
||||
LOGI(@"Free cached view: %@", key);
|
||||
[viewControllerCache removeObjectForKey:key];
|
||||
}
|
||||
}
|
||||
if (remove) {
|
||||
LOGI(@"Free cached view: %@", key);
|
||||
[viewControllerCache removeObjectForKey:key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (UIInterfaceOrientation)currentOrientation {
|
||||
return currentOrientation;
|
||||
}
|
||||
|
||||
- (IBAction)onRightSwipe:(id)sender {
|
||||
[self hideSideMenu:NO];
|
||||
}
|
||||
|
||||
- (UIInterfaceOrientation)currentOrientation {
|
||||
return currentOrientation;
|
||||
}
|
||||
|
||||
+ (void)addSubView:(UIViewController *)controller view:(UIView *)view {
|
||||
if (controller != nil) {
|
||||
|
|
@ -409,18 +383,20 @@
|
|||
currentViewDescription = [description copy];
|
||||
|
||||
// Animate only with a previous screen
|
||||
if (oldViewDescription != nil && viewTransition != nil) {
|
||||
[contentView.layer removeAnimationForKey:@"transition"];
|
||||
[contentView.layer addAnimation:viewTransition forKey:@"transition"];
|
||||
if (oldViewDescription != nil && self.viewTransition != nil) {
|
||||
[self.contentView.layer removeAnimationForKey:@"transition"];
|
||||
[self.contentView.layer addAnimation:self.viewTransition forKey:@"transition"];
|
||||
if (oldViewDescription.statusBar != currentViewDescription.statusBar ||
|
||||
[statusBarView.layer animationForKey:@"transition"] != nil) {
|
||||
[statusBarView.layer removeAnimationForKey:@"transition"];
|
||||
[statusBarView.layer addAnimation:viewTransition forKey:@"transition"];
|
||||
oldViewDescription.statusBarEnabled != currentViewDescription.statusBarEnabled ||
|
||||
[self.statusBarView.layer animationForKey:@"transition"] != nil) {
|
||||
[self.statusBarView.layer removeAnimationForKey:@"transition"];
|
||||
[self.statusBarView.layer addAnimation:self.viewTransition forKey:@"transition"];
|
||||
}
|
||||
if (oldViewDescription.tabBar != currentViewDescription.tabBar ||
|
||||
[tabBarView.layer animationForKey:@"transition"] != nil) {
|
||||
[tabBarView.layer removeAnimationForKey:@"transition"];
|
||||
[tabBarView.layer addAnimation:viewTransition forKey:@"transition"];
|
||||
oldViewDescription.tabBarEnabled != currentViewDescription.tabBarEnabled ||
|
||||
[self.tabBarView.layer animationForKey:@"transition"] != nil) {
|
||||
[self.tabBarView.layer removeAnimationForKey:@"transition"];
|
||||
[self.tabBarView.layer addAnimation:self.viewTransition forKey:@"transition"];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -468,11 +444,8 @@
|
|||
if (oldStatusBarViewController != newStatusBarViewController) {
|
||||
UIInterfaceOrientation oldOrientation = self.statusBarViewController.interfaceOrientation;
|
||||
[self.statusBarViewController willRotateToInterfaceOrientation:correctOrientation duration:0];
|
||||
[self.sideMenuViewController willRotateToInterfaceOrientation:correctOrientation duration:0];
|
||||
[self.statusBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0];
|
||||
[self.sideMenuViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:0];
|
||||
[self.statusBarViewController didRotateFromInterfaceOrientation:oldOrientation];
|
||||
[self.sideMenuViewController didRotateFromInterfaceOrientation:oldOrientation];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -483,8 +456,21 @@
|
|||
return;
|
||||
}
|
||||
|
||||
tabBar = nil; // No change = No Update
|
||||
statusBar = nil; // No change = No Update
|
||||
if (tabBar != nil) {
|
||||
if (currentViewDescription.tabBarEnabled != [tabBar boolValue]) {
|
||||
currentViewDescription.tabBarEnabled = [tabBar boolValue];
|
||||
} else {
|
||||
tabBar = nil; // No change = No Update
|
||||
}
|
||||
}
|
||||
|
||||
if (statusBar != nil) {
|
||||
if (currentViewDescription.statusBarEnabled != [statusBar boolValue]) {
|
||||
currentViewDescription.statusBarEnabled = [statusBar boolValue];
|
||||
} else {
|
||||
statusBar = nil; // No change = No Update
|
||||
}
|
||||
}
|
||||
|
||||
if (fullscreen != nil) {
|
||||
if (currentViewDescription.fullscreen != [fullscreen boolValue]) {
|
||||
|
|
@ -503,39 +489,49 @@
|
|||
if (tabBar != nil || statusBar != nil || fullscreen != nil) {
|
||||
[UIView beginAnimations:@"resize" context:nil];
|
||||
[UIView setAnimationDuration:0.35];
|
||||
[UIView setAnimationBeginsFromCurrentState:TRUE];
|
||||
}
|
||||
|
||||
CGRect contentFrame = contentView.frame;
|
||||
CGRect contentFrame = self.contentView.frame;
|
||||
CGRect viewFrame = [self.view frame];
|
||||
|
||||
// Resize StatusBar
|
||||
CGRect statusBarFrame = statusBarView.frame;
|
||||
CGRect statusBarFrame = self.statusBarView.frame;
|
||||
int origin = IPHONE_STATUSBAR_HEIGHT;
|
||||
if (currentViewDescription.fullscreen)
|
||||
origin = 0;
|
||||
|
||||
contentFrame.origin.y = origin + statusBarFrame.size.height;
|
||||
statusBarFrame.origin.y = origin;
|
||||
if (self.statusBarViewController != nil && currentViewDescription.statusBarEnabled) {
|
||||
contentFrame.origin.y = origin + statusBarFrame.size.height;
|
||||
statusBarFrame.origin.y = origin;
|
||||
origin = statusBarFrame.size.height;
|
||||
} else {
|
||||
contentFrame.origin.y = origin;
|
||||
statusBarFrame.origin.y = origin - statusBarFrame.size.height;
|
||||
}
|
||||
|
||||
// Resize TabBar
|
||||
CGRect tabFrame = tabBarView.frame;
|
||||
tabFrame.origin.y = viewFrame.size.height;
|
||||
tabFrame.origin.x = viewFrame.size.width;
|
||||
tabFrame.size.height = self.tabBarViewController.view.frame.size.height;
|
||||
// tabFrame.size.width = self.tabBarViewController.view.frame.size.width;
|
||||
tabFrame.origin.y -= tabFrame.size.height;
|
||||
tabFrame.origin.x -= tabFrame.size.width;
|
||||
contentFrame.size.height = tabFrame.origin.y - contentFrame.origin.y;
|
||||
CGRect tabFrame = self.tabBarView.frame;
|
||||
if (self.tabBarViewController != nil && currentViewDescription.tabBarEnabled) {
|
||||
tabFrame.origin.y = viewFrame.size.height;
|
||||
tabFrame.origin.x = viewFrame.size.width;
|
||||
tabFrame.size.height = self.tabBarViewController.view.frame.size.height;
|
||||
// tabFrame.size.width = self.tabBarViewController.view.frame.size.width;
|
||||
tabFrame.origin.y -= tabFrame.size.height;
|
||||
tabFrame.origin.x -= tabFrame.size.width;
|
||||
contentFrame.size.height = tabFrame.origin.y - contentFrame.origin.y;
|
||||
|
||||
// for some views, we need the content to overlap, in which case
|
||||
// we insert in the tab XIB a mask with tag -1 and with y = the amount of
|
||||
// points that the content should overlap.
|
||||
for (UIView *view in self.tabBarViewController.view.subviews) {
|
||||
if (view.tag == -1) {
|
||||
contentFrame.size.height += view.frame.origin.y;
|
||||
break;
|
||||
// for some views, we need the content to overlap, in which case
|
||||
// we insert in the tab XIB a mask with tag -1 and with y = the amount of
|
||||
// points that the content should overlap.
|
||||
for (UIView *view in self.tabBarViewController.view.subviews) {
|
||||
if (view.tag == -1) {
|
||||
contentFrame.size.height += view.frame.origin.y;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
contentFrame.size.height = viewFrame.size.height - contentFrame.origin.y;
|
||||
tabFrame.origin.y = viewFrame.size.height;
|
||||
}
|
||||
|
||||
if (currentViewDescription.fullscreen) {
|
||||
|
|
@ -544,22 +540,22 @@
|
|||
}
|
||||
|
||||
// Set frames
|
||||
[contentView setFrame:contentFrame];
|
||||
[self.contentViewController.view setFrame:[contentView bounds]];
|
||||
[tabBarView setFrame:tabFrame];
|
||||
[self.contentView setFrame:contentFrame];
|
||||
[self.contentViewController.view setFrame:[self.contentView bounds]];
|
||||
[self.tabBarView setFrame:tabFrame];
|
||||
CGRect frame = [self.tabBarViewController.view frame];
|
||||
frame.size.width = [tabBarView bounds].size.width;
|
||||
frame.size.width = [self.tabBarView bounds].size.width;
|
||||
[self.tabBarViewController.view setFrame:frame];
|
||||
[statusBarView setFrame:statusBarFrame];
|
||||
[self.statusBarView setFrame:statusBarFrame];
|
||||
frame = [self.statusBarViewController.view frame];
|
||||
frame.size.width = [statusBarView bounds].size.width;
|
||||
frame.size.width = [self.statusBarView bounds].size.width;
|
||||
[self.statusBarViewController.view setFrame:frame];
|
||||
|
||||
CGRect sideMenuFrame = contentFrame;
|
||||
contentFrame.origin.x = (_sideMenuView.hidden ? -contentFrame.size.width : 0);
|
||||
contentFrame.origin.x = (self.sideMenuView.hidden ? -contentFrame.size.width : 0);
|
||||
sideMenuFrame.size.height += tabFrame.size.height;
|
||||
_sideMenuView.frame = sideMenuFrame;
|
||||
_sideMenuViewController.view.frame = [_sideMenuView bounds];
|
||||
self.sideMenuView.frame = sideMenuFrame;
|
||||
_sideMenuViewController.view.frame = [self.sideMenuView bounds];
|
||||
|
||||
// Commit animation
|
||||
if (tabBar != nil || statusBar != nil || fullscreen != nil) {
|
||||
|
|
@ -568,12 +564,12 @@
|
|||
|
||||
// Change view
|
||||
if (description != nil) {
|
||||
[UICompositeView addSubView:self.contentViewController view:contentView];
|
||||
[UICompositeView addSubView:self.contentViewController view:self.contentView];
|
||||
if (oldTabBarViewController == nil || oldTabBarViewController != self.tabBarViewController) {
|
||||
[UICompositeView addSubView:self.tabBarViewController view:tabBarView];
|
||||
[UICompositeView addSubView:self.tabBarViewController view:self.tabBarView];
|
||||
}
|
||||
if (oldStatusBarViewController == nil || oldStatusBarViewController != self.statusBarViewController) {
|
||||
[UICompositeView addSubView:self.statusBarViewController view:statusBarView];
|
||||
[UICompositeView addSubView:self.statusBarViewController view:self.statusBarView];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -585,11 +581,11 @@
|
|||
[self update:description tabBar:nil statusBar:nil fullscreen:nil];
|
||||
}
|
||||
|
||||
- (void)setFullScreen:(BOOL)enabled {
|
||||
- (void)setFullscreen:(BOOL)enabled {
|
||||
[self update:nil tabBar:nil statusBar:nil fullscreen:[NSNumber numberWithBool:enabled]];
|
||||
}
|
||||
|
||||
- (void)hideTopBar:(BOOL)hidden {
|
||||
- (void)hideTabBar:(BOOL)hidden {
|
||||
[self update:nil tabBar:[NSNumber numberWithBool:!hidden] statusBar:nil fullscreen:nil];
|
||||
}
|
||||
|
||||
|
|
@ -608,19 +604,19 @@
|
|||
// resign keyboard, if any
|
||||
[LinphoneUtils findAndResignFirstResponder:self.view];
|
||||
|
||||
CGRect d = _sideMenuView.frame;
|
||||
CGRect d = self.sideMenuView.frame;
|
||||
d.origin.x = hidden ? 0 : -d.size.width;
|
||||
_sideMenuView.frame = d;
|
||||
self.sideMenuView.frame = d;
|
||||
d.origin.x = hidden ? -d.size.width : 0;
|
||||
|
||||
if (animated) {
|
||||
_sideMenuView.hidden = NO;
|
||||
self.sideMenuView.hidden = NO;
|
||||
[UIView animateWithDuration:0.3
|
||||
animations:^{
|
||||
_sideMenuView.frame = d;
|
||||
self.sideMenuView.frame = d;
|
||||
}
|
||||
completion:^(BOOL finished) {
|
||||
_sideMenuView.hidden = hidden;
|
||||
self.sideMenuView.hidden = hidden;
|
||||
if (hidden) {
|
||||
[self.sideMenuViewController viewWillDisappear:animated];
|
||||
} else {
|
||||
|
|
@ -628,8 +624,8 @@
|
|||
}
|
||||
}];
|
||||
} else {
|
||||
_sideMenuView.frame = d;
|
||||
_sideMenuView.hidden = hidden;
|
||||
self.sideMenuView.frame = d;
|
||||
self.sideMenuView.hidden = hidden;
|
||||
if (hidden) {
|
||||
[self.sideMenuViewController viewWillDisappear:animated];
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" initialViewController="eUP-Pz-8te">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" initialViewController="eUP-Pz-8te">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -505,7 +505,7 @@ static RootViewManager *rootViewManagerInstance = nil;
|
|||
}
|
||||
|
||||
- (void)showTabBar:(BOOL)show {
|
||||
[mainViewController hideTopBar:!show];
|
||||
[mainViewController hideTabBar:!show];
|
||||
}
|
||||
|
||||
- (void)showStatusBar:(BOOL)show {
|
||||
|
|
@ -539,7 +539,7 @@ static RootViewManager *rootViewManagerInstance = nil;
|
|||
|
||||
- (void)fullScreen:(BOOL)enabled {
|
||||
[statusBarBG setHidden:enabled];
|
||||
[mainViewController setFullScreen:enabled];
|
||||
[mainViewController setFullscreen:enabled];
|
||||
}
|
||||
|
||||
- (void)changeCurrentView:(UICompositeViewDescription *)view {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue