- modularized settings widgets for iPad
- navBar for settings menu
This commit is contained in:
committed by
TrueZhuanjia
parent
4edf1e2cf5
commit
561080568c
File diff suppressed because it is too large
Load Diff
@@ -87,14 +87,14 @@
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Resolution " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8zy-ri-Dqc">
|
||||
<rect key="frame" x="22" y="59" width="411" height="21"/>
|
||||
<rect key="frame" x="22" y="64" width="411" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.9513210654258728" green="0.97490358352661133" blue="0.99987185001373291" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" apportionsSegmentWidthsByContent="YES" segmentControlStyle="plain" selectedSegmentIndex="5" translatesAutoresizingMaskIntoConstraints="NO" id="PCM-t4-Sha">
|
||||
<rect key="frame" x="16" y="86" width="450" height="32"/>
|
||||
<rect key="frame" x="16" y="91" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="360p"/>
|
||||
@@ -109,19 +109,19 @@
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Dej-Bj-F6i" userLabel="Resolution Display View">
|
||||
<rect key="frame" x="15" y="129" width="447" height="35"/>
|
||||
<rect key="frame" x="15" y="134" width="447" height="35"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Frame Rate " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kkv-DF-MAl">
|
||||
<rect key="frame" x="22" y="172" width="409" height="21"/>
|
||||
<rect key="frame" x="22" y="177" width="409" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.9513210654258728" green="0.97490358352661133" blue="0.99987185001373291" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="dLF-qJ-2nY">
|
||||
<rect key="frame" x="16" y="201" width="450" height="28"/>
|
||||
<rect key="frame" x="16" y="206" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="30 FPS"/>
|
||||
@@ -132,26 +132,26 @@
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Bitrate: 10 Mbps " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SBv-Wn-LB7">
|
||||
<rect key="frame" x="22" y="237" width="422" height="21"/>
|
||||
<rect key="frame" x="22" y="242" width="422" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.9513210654258728" green="0.97490358352661133" blue="0.99987185001373291" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="20" minValue="1" maxValue="100" translatesAutoresizingMaskIntoConstraints="NO" id="3nn-MI-9Xu">
|
||||
<rect key="frame" x="14" y="266" width="450" height="31"/>
|
||||
<rect key="frame" x="14" y="271" width="450" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Touch Mode " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CHp-14-aTt">
|
||||
<rect key="frame" x="22" y="304" width="423" height="21"/>
|
||||
<rect key="frame" x="22" y="309" width="423" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="2lg-HW-tku" userLabel="Touch Mode Selector">
|
||||
<rect key="frame" x="16" y="330" width="450" height="32"/>
|
||||
<rect key="frame" x="16" y="335" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Touchpad"/>
|
||||
@@ -163,7 +163,7 @@
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Touch Pointer Velocity: Scaled on 0% of Right Screen " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="VlN-ZW-1gm">
|
||||
<rect key="frame" x="17" y="369" width="460" height="21"/>
|
||||
<rect key="frame" x="17" y="374" width="460" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
@@ -171,12 +171,12 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="100" minValue="0.0" maxValue="100" id="xet-C9-l5y">
|
||||
<rect key="frame" x="15" y="398" width="459" height="31"/>
|
||||
<rect key="frame" x="15" y="403" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Touch Pointer Velocity: 100% " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="c6f-bJ-Vji">
|
||||
<rect key="frame" x="15" y="436" width="449" height="21"/>
|
||||
<rect key="frame" x="15" y="441" width="449" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
@@ -184,7 +184,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mouse Pointer Velocity: 100% " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ecG-dC-PT1">
|
||||
<rect key="frame" x="16" y="636" width="450" height="21"/>
|
||||
<rect key="frame" x="16" y="641" width="450" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
@@ -192,17 +192,17 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="100" minValue="0.0" maxValue="300" id="cSy-mj-8pD">
|
||||
<rect key="frame" x="13" y="465" width="459" height="31"/>
|
||||
<rect key="frame" x="13" y="470" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="100" minValue="0.0" maxValue="300" id="cS3-8R-rEd" userLabel="Mouse Pointer Velocity Slider">
|
||||
<rect key="frame" x="13" y="665" width="459" height="31"/>
|
||||
<rect key="frame" x="13" y="670" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="PD9-1O-J34">
|
||||
<rect key="frame" x="19" y="770" width="456" height="21"/>
|
||||
<rect key="frame" x="19" y="775" width="456" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<string key="text" base64-UTF8="YES">
|
||||
@@ -214,19 +214,19 @@ ICAgICAgICAgICAgIA
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="3" minValue="3" maxValue="13" id="9rm-7X-TVH">
|
||||
<rect key="frame" x="17" y="799" width="459" height="31"/>
|
||||
<rect key="frame" x="17" y="804" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="On-Screen Controls & Widgets " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HZT-dd-DuQ">
|
||||
<rect key="frame" x="19" y="703" width="440" height="21"/>
|
||||
<rect key="frame" x="19" y="708" width="440" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.9513210654258728" green="0.97490358352661133" blue="0.99987185001373291" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="WGf-9d-eAm">
|
||||
<rect key="frame" x="18" y="730" width="450" height="32"/>
|
||||
<rect key="frame" x="18" y="735" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Off"/>
|
||||
@@ -238,14 +238,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Optimize Game Settings " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hxa-gT-JXC">
|
||||
<rect key="frame" x="18" y="1168" width="430" height="21"/>
|
||||
<rect key="frame" x="18" y="1173" width="430" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="Gob-Lu-b1y" userLabel="Optimize Settings Selector">
|
||||
<rect key="frame" x="18" y="1197" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1202" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -255,21 +255,21 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Lift Stream View for Local Keyboard " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wUg-MH-aae">
|
||||
<rect key="frame" x="17" y="837" width="453" height="21"/>
|
||||
<rect key="frame" x="17" y="842" width="453" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Show Local Keyboard Toolbar " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m1k-oE-fIO">
|
||||
<rect key="frame" x="17" y="901" width="441" height="21"/>
|
||||
<rect key="frame" x="17" y="906" width="441" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="6fE-k6-IG0" userLabel="Show Local Keyboard Toolbar">
|
||||
<rect key="frame" x="17" y="930" width="450" height="28"/>
|
||||
<rect key="frame" x="17" y="935" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -279,14 +279,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Multi-Controller Mode " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jps-kj-bYJ">
|
||||
<rect key="frame" x="18" y="1234" width="429" height="21"/>
|
||||
<rect key="frame" x="18" y="1239" width="429" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="OCT-oL-Dqb" userLabel="MC Selector">
|
||||
<rect key="frame" x="18" y="1263" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1268" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Single"/>
|
||||
@@ -296,14 +296,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Swap A/B and X/Y Buttons " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2p1-r1-Gvf">
|
||||
<rect key="frame" x="19" y="1300" width="439" height="21"/>
|
||||
<rect key="frame" x="19" y="1305" width="439" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="P8R-nu-8Ln" userLabel="ABXY Swap Selector">
|
||||
<rect key="frame" x="18" y="1328" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1333" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -313,14 +313,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Play Audio on PC " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="T6M-nz-TW0">
|
||||
<rect key="frame" x="19" y="1364" width="426" height="21"/>
|
||||
<rect key="frame" x="19" y="1369" width="426" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="8GA-Js-kQN" userLabel="PC Audio Selector">
|
||||
<rect key="frame" x="18" y="1393" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1398" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -330,14 +330,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Preferred Codec " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BEG-Id-J8y" userLabel="Preferred Codec">
|
||||
<rect key="frame" x="19" y="1429" width="435" height="21"/>
|
||||
<rect key="frame" x="19" y="1434" width="435" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="3" translatesAutoresizingMaskIntoConstraints="NO" id="AbS-CW-fjP" userLabel="Codec Selector">
|
||||
<rect key="frame" x="18" y="1454" width="450" height="32"/>
|
||||
<rect key="frame" x="18" y="1459" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="H.264"/>
|
||||
@@ -349,14 +349,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768741607666" green="0.61711704730987549" blue="0.99902987480163574" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="HDR (Beta) " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lBe-dn-yc7">
|
||||
<rect key="frame" x="17" y="1557" width="416" height="21"/>
|
||||
<rect key="frame" x="17" y="1562" width="416" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="9xD-GL-9xq" userLabel="HDR Selector">
|
||||
<rect key="frame" x="16" y="1586" width="450" height="28"/>
|
||||
<rect key="frame" x="16" y="1591" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -366,14 +366,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Frame Pacing Preference " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x1l-m4-eAM">
|
||||
<rect key="frame" x="19" y="1621" width="450" height="21"/>
|
||||
<rect key="frame" x="19" y="1626" width="450" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="d2a-Ka-H2c" userLabel="Frame Pacing Selector">
|
||||
<rect key="frame" x="18" y="1650" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1655" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Lowest Latency"/>
|
||||
@@ -383,14 +383,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Citrix X1 Mouse Support " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="glN-9Q-GKD">
|
||||
<rect key="frame" x="18" y="1749" width="434" height="21"/>
|
||||
<rect key="frame" x="18" y="1754" width="434" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="o4O-hO-teB" userLabel="Citrix X1 Selector">
|
||||
<rect key="frame" x="18" y="1778" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1783" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -400,14 +400,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Statistics Overlay " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WtB-ib-ZDj">
|
||||
<rect key="frame" x="19" y="1814" width="433" height="21"/>
|
||||
<rect key="frame" x="19" y="1819" width="433" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="rdz-eg-2oR" userLabel="Statistics Overlay Selector">
|
||||
<rect key="frame" x="18" y="1841" width="450" height="32"/>
|
||||
<rect key="frame" x="18" y="1846" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Off"/>
|
||||
@@ -418,7 +418,7 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Open Settings in Stream View by Sliding from: " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8kV-xZ-73k">
|
||||
<rect key="frame" x="18" y="965" width="441" height="21"/>
|
||||
<rect key="frame" x="18" y="970" width="441" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
@@ -426,7 +426,7 @@ ICAgICAgICAgICAgIA
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="2Lx-OY-ZPu">
|
||||
<rect key="frame" x="18" y="994" width="459" height="32"/>
|
||||
<rect key="frame" x="18" y="999" width="459" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Left Screen Edge"/>
|
||||
@@ -436,7 +436,7 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Open Command Tool in Stream View by Sliding from: " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="stX-s7-H2W">
|
||||
<rect key="frame" x="17" y="1033" width="474" height="21"/>
|
||||
<rect key="frame" x="17" y="1038" width="474" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.81533776120000001" green="0.85979419950000002" blue="0.91372549020000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
@@ -444,7 +444,7 @@ ICAgICAgICAgICAgIA
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="zDR-Ss-JPc">
|
||||
<rect key="frame" x="17" y="1062" width="459" height="32"/>
|
||||
<rect key="frame" x="17" y="1067" width="459" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Left Screen Edge"/>
|
||||
@@ -454,19 +454,19 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Slide Distance for Stream View Menu: 0.5 * screen-width " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Ex1-zI-oAH">
|
||||
<rect key="frame" x="18" y="1101" width="464" height="21"/>
|
||||
<rect key="frame" x="18" y="1106" width="464" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" id="3MK-Qx-ZVc">
|
||||
<rect key="frame" x="16" y="1130" width="459" height="31"/>
|
||||
<rect key="frame" x="16" y="1135" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="pQE-vU-Nr7" userLabel="Lift Stream View for Local Keyboard">
|
||||
<rect key="frame" x="17" y="866" width="450" height="28"/>
|
||||
<rect key="frame" x="17" y="871" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -475,28 +475,15 @@ ICAgICAgICAgICAgIA
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CMK-cS-h9b">
|
||||
<rect key="frame" x="243" y="14" width="219" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="tinted" title="Exit">
|
||||
<fontDescription key="titleFontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="baseForegroundColor" systemColor="tintColor"/>
|
||||
<color key="baseBackgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</buttonConfiguration>
|
||||
<connections>
|
||||
<action selector="exitButtonTapped:" destination="rYd-e6-cQU" eventType="touchUpInside" id="rCX-Xw-C85"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Allow 90° Display Rotation in Steaming" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z9P-TN-kci">
|
||||
<rect key="frame" x="20" y="1880" width="316" height="21"/>
|
||||
<rect key="frame" x="20" y="1885" width="316" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="R9O-Tw-UD4" userLabel="Lock Display Orientation">
|
||||
<rect key="frame" x="19" y="1909" width="450" height="28"/>
|
||||
<rect key="frame" x="19" y="1914" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -506,14 +493,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Reverse Wheel Direction for Physical Mouse " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="svh-LO-bTr">
|
||||
<rect key="frame" x="18" y="1685" width="463" height="21"/>
|
||||
<rect key="frame" x="18" y="1690" width="463" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="p2k-7u-PDc" userLabel="reverseMouseWheelDirectionSelector">
|
||||
<rect key="frame" x="18" y="1714" width="450" height="28"/>
|
||||
<rect key="frame" x="18" y="1719" width="450" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -523,14 +510,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="External Display Mode" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4Qy-hB-oa5">
|
||||
<rect key="frame" x="20" y="1944" width="181" height="21"/>
|
||||
<rect key="frame" x="20" y="1949" width="181" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="VWB-YB-Ptj" userLabel="External Display Mode">
|
||||
<rect key="frame" x="19" y="1974" width="450" height="31"/>
|
||||
<rect key="frame" x="19" y="1979" width="450" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Stage Manager"/>
|
||||
@@ -540,14 +527,14 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Local Mouse Pointer" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VGn-Oc-mKc">
|
||||
<rect key="frame" x="22" y="2012" width="165" height="21"/>
|
||||
<rect key="frame" x="22" y="2017" width="165" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="F96-Um-Q6t" userLabel="Mouse Mode">
|
||||
<rect key="frame" x="19" y="2042" width="450" height="31"/>
|
||||
<rect key="frame" x="19" y="2047" width="450" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="Restricted by Window"/>
|
||||
@@ -558,7 +545,7 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="vwT-tg-RfT" userLabel="YUV444 Selector">
|
||||
<rect key="frame" x="14" y="1522" width="459" height="28"/>
|
||||
<rect key="frame" x="14" y="1527" width="459" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -568,46 +555,33 @@ ICAgICAgICAgICAgIA
|
||||
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</segmentedControl>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Enable YUV 4:4:4 (Beta)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1UZ-3M-k6c">
|
||||
<rect key="frame" x="17" y="1495" width="199" height="21"/>
|
||||
<rect key="frame" x="17" y="1500" width="199" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.93902439019999995" green="0.9625305918" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FqF-bM-afQ">
|
||||
<rect key="frame" x="17" y="14" width="219" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="tinted" title="Back to Streaming">
|
||||
<fontDescription key="titleFontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="baseForegroundColor" systemColor="tintColor"/>
|
||||
<color key="baseBackgroundColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</buttonConfiguration>
|
||||
<connections>
|
||||
<action selector="backToStreamingButtonTapped:" destination="rYd-e6-cQU" eventType="touchUpInside" id="9P0-Yw-T4W"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Interval of Multi-Touch Move Events: 200 us " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Dfl-gL-00M">
|
||||
<rect key="frame" x="15" y="569" width="471" height="21"/>
|
||||
<rect key="frame" x="15" y="574" width="471" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="150" minValue="0.0" maxValue="3600" id="TSt-Hj-uTR" userLabel="oscTapExlusionAreaSize">
|
||||
<rect key="frame" x="13" y="598" width="459" height="31"/>
|
||||
<rect key="frame" x="13" y="603" width="459" height="31"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</slider>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Async Native Touch" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HtQ-3L-0hA">
|
||||
<rect key="frame" x="17" y="503" width="160" height="21"/>
|
||||
<rect key="frame" x="17" y="508" width="160" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.95132106540000005" green="0.97490358349999995" blue="0.99987185000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<segmentedControl opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="1" translatesAutoresizingMaskIntoConstraints="NO" id="BE3-KW-nge">
|
||||
<rect key="frame" x="16" y="530" width="450" height="32"/>
|
||||
<rect key="frame" x="16" y="535" width="450" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<segments>
|
||||
<segment title="No"/>
|
||||
@@ -623,7 +597,6 @@ ICAgICAgICAgICAgIA
|
||||
<connections>
|
||||
<outlet property="asyncNativeTouchPrioritySelector" destination="BE3-KW-nge" id="JMy-SL-cwg"/>
|
||||
<outlet property="audioOnPCSelector" destination="8GA-Js-kQN" id="Gab-Tb-Syy"/>
|
||||
<outlet property="backToStreamingButton" destination="FqF-bM-afQ" id="Xoj-dC-gEa"/>
|
||||
<outlet property="bitrateLabel" destination="SBv-Wn-LB7" id="Wdu-me-Bvd"/>
|
||||
<outlet property="bitrateSlider" destination="3nn-MI-9Xu" id="IuD-Rk-vPp"/>
|
||||
<outlet property="btMouseSelector" destination="o4O-hO-teB" id="bLu-uv-yUX"/>
|
||||
@@ -668,7 +641,7 @@ ICAgICAgICAgICAgIA
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="RWc-Km-KG5" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-84.782608695652186" y="2162.9464285714284"/>
|
||||
<point key="canvasLocation" x="-1172" y="2029"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="pfX-8A-htT">
|
||||
@@ -1061,8 +1034,5 @@ ICAgICAgICAgICAgIA
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
<systemColor name="tintColor">
|
||||
<color red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
|
||||
@interface DataManager : NSObject
|
||||
|
||||
typedef NS_ENUM(NSUInteger, UINavigationBarHeight) {
|
||||
UINavigationBarHeightIPad = 50,
|
||||
UINavigationBarHeightIPhone = 44
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, TouchEventPriorityEnum) {
|
||||
AsyncNativeTouchOff,
|
||||
EqualPriority,
|
||||
|
||||
@@ -260,6 +260,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Back" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "返回"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "返回"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "返回"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ball: assumed touch point. Cross: indicator location" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -772,6 +795,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Disconnect" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "断开"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "断开"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "断开"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Done" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -2654,6 +2700,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Settings" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "设置"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "设置"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "设置"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Shape (r - round, s - square)" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
|
||||
@@ -961,12 +961,16 @@ static NSMutableSet* hostList;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position {
|
||||
// If we moved back to the center position, we should save the settings
|
||||
- (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position {
|
||||
SettingsViewController* settingsViewController = (SettingsViewController*)[revealController rearViewController];
|
||||
settingsViewController.mainFrameViewController = self;
|
||||
// enable / disable widgets acoordingly: in streamview, disable, outside of streamview, enable.
|
||||
if (@available(iOS 16.0, *)) {
|
||||
revealController.disconnectButton.hidden = !self.settingsExpandedInStreamView;
|
||||
} else {
|
||||
revealController.disconnectButton.enabled = self.settingsExpandedInStreamView;
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
[settingsViewController.resolutionSelector setEnabled:!self.settingsExpandedInStreamView];
|
||||
[settingsViewController.framerateSelector setEnabled:!self.settingsExpandedInStreamView];
|
||||
[settingsViewController widget:settingsViewController.bitrateSlider setEnabled:!self.settingsExpandedInStreamView];
|
||||
@@ -978,8 +982,14 @@ static NSMutableSet* hostList;
|
||||
[settingsViewController.framePacingSelector setEnabled:!self.settingsExpandedInStreamView];
|
||||
[settingsViewController.btMouseSelector setEnabled:!self.settingsExpandedInStreamView];
|
||||
[settingsViewController.externalDisplayModeSelector setEnabled:!self.settingsExpandedInStreamView];
|
||||
[settingsViewController.backToStreamingButton setEnabled:self.settingsExpandedInStreamView];
|
||||
[settingsViewController.backToStreamingButton setEnabled:self.settingsExpandedInStreamView]; // will be deprecated soon
|
||||
// [settingsViewController.unlockDisplayOrientationSelector setEnabled:!self.settingsExpandedInStreamView && [self isFullScreenRequired]];//need "requires fullscreen" enabled in the app bunddle to make runtime orientation limitation woring
|
||||
}
|
||||
|
||||
- (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position {
|
||||
// If we moved back to the center position, we should save the settings
|
||||
SettingsViewController* settingsViewController = (SettingsViewController*)[revealController rearViewController];
|
||||
settingsViewController.mainFrameViewController = self;
|
||||
|
||||
if (position == FrontViewPositionLeft) {
|
||||
[settingsViewController saveSettings];
|
||||
|
||||
@@ -183,6 +183,8 @@ typedef NS_ENUM(NSInteger, SWRevealToggleAnimationType)
|
||||
|
||||
@interface SWRevealViewController : UIViewController
|
||||
|
||||
@property (nonatomic, strong) UINavigationBar *dockedNavBar;
|
||||
|
||||
- (void)setPrimaryViewController:(UIViewController*)viewController;
|
||||
|
||||
/* Basic API */
|
||||
@@ -239,6 +241,8 @@ typedef NS_ENUM(NSInteger, SWRevealToggleAnimationType)
|
||||
/* The following properties are provided for further customization, they are set to default values on initialization,
|
||||
you do not generally have to set them */
|
||||
|
||||
@property (strong, nonatomic) UIBarButtonItem *disconnectButton;
|
||||
|
||||
// Defines how much of the rear or right view is shown, default is 260.
|
||||
// Negative values indicate that the reveal width should be computed by substracting the full front view width,
|
||||
// so the revealed frontView width is kept constant when bounds change as opposed to the rear or right width.
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
#import "SWRevealViewController.h"
|
||||
#import "LocalizationHelper.h"
|
||||
#import "DataManager.h"
|
||||
|
||||
|
||||
@@ -59,6 +60,7 @@ static CGFloat statusBarAdjustment( UIView* view )
|
||||
}
|
||||
|
||||
@property (nonatomic, readonly) UIView *rearView;
|
||||
@property (nonatomic, strong) UIView *rearNavView;
|
||||
@property (nonatomic, readonly) UIView *rightView;
|
||||
@property (nonatomic, readonly) UIView *frontView;
|
||||
@property (nonatomic, assign) BOOL disableLayout;
|
||||
@@ -73,7 +75,9 @@ static CGFloat statusBarAdjustment( UIView* view )
|
||||
@end
|
||||
|
||||
|
||||
@implementation SWRevealView
|
||||
@implementation SWRevealView{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static CGFloat scaledValue( CGFloat v1, CGFloat min2, CGFloat max2, CGFloat min1, CGFloat max1)
|
||||
@@ -99,7 +103,10 @@ static CGFloat scaledValue( CGFloat v1, CGFloat min2, CGFloat max2, CGFloat min1
|
||||
[self reloadShadow];
|
||||
|
||||
[self addSubview:_frontView];
|
||||
|
||||
[self setupRearNavView];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@@ -128,13 +135,39 @@ static CGFloat scaledValue( CGFloat v1, CGFloat min2, CGFloat max2, CGFloat min1
|
||||
}
|
||||
|
||||
|
||||
- (void)setupRearNavView {
|
||||
// 初始化 rearNavView
|
||||
_rearNavView = [[UIView alloc] init];
|
||||
_rearNavView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
_rearNavView.backgroundColor = [UIColor lightGrayColor]; // 设置背景色以便查看
|
||||
|
||||
// NSLog(@"_c.rearViewRevealWidth: %f", _c.rearViewRevealWidth);
|
||||
// _rearNavView.frame = CGRectMake(0, 0, _c.rearViewRevealWidth, 100);
|
||||
// 添加到主视图
|
||||
|
||||
// 设置约束 - 这里只是一个示例,你可以根据需要调整
|
||||
|
||||
[self insertSubview:_rearNavView belowSubview:_frontView];
|
||||
|
||||
CGFloat navBarHeight = [UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone ? UINavigationBarHeightIPhone : UINavigationBarHeightIPad;
|
||||
|
||||
[NSLayoutConstraint activateConstraints:@[
|
||||
[_rearNavView.topAnchor constraintEqualToAnchor:self.topAnchor],
|
||||
[_rearNavView.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
|
||||
[_rearNavView.trailingAnchor constraintEqualToAnchor:self.trailingAnchor],
|
||||
[_rearNavView.heightAnchor constraintEqualToConstant:navBarHeight]
|
||||
// reserve height for navigation bar
|
||||
]];
|
||||
// [self setupNavigationBar];
|
||||
}
|
||||
|
||||
- (void)prepareRearViewForPosition:(FrontViewPosition)newPosition
|
||||
{
|
||||
if ( _rearView == nil )
|
||||
{
|
||||
_rearView = [[UIView alloc] initWithFrame:self.bounds];
|
||||
_rearView.autoresizingMask = /*UIViewAutoresizingFlexibleWidth|*/UIViewAutoresizingFlexibleHeight;
|
||||
[self insertSubview:_rearView belowSubview:_frontView];
|
||||
[self insertSubview:_rearView belowSubview:_rearNavView];
|
||||
}
|
||||
|
||||
CGFloat xLocation = [self frontLocationForPosition:_c.frontViewPosition];
|
||||
@@ -633,7 +666,8 @@ const int FrontViewPositionNone = 0xff;
|
||||
_rearViewPosition = FrontViewPositionLeft;
|
||||
_rightViewPosition = FrontViewPositionLeft;
|
||||
_rearViewRevealWidth = 492.0f;
|
||||
_rearViewRevealOverdraw = 60.0f;
|
||||
// _rearViewRevealOverdraw = 60.0f;
|
||||
_rearViewRevealOverdraw = 0.0f;
|
||||
_rearViewRevealDisplacement = 40.0f;
|
||||
_rightViewRevealWidth = 492.0f;
|
||||
_rightViewRevealOverdraw = 60.0f;
|
||||
@@ -701,6 +735,8 @@ const int FrontViewPositionNone = 0xff;
|
||||
// create a custom content view for the controller
|
||||
_contentView = [[SWRevealView alloc] initWithFrame:frame controller:self];
|
||||
|
||||
[self setupNavigationBar];
|
||||
|
||||
// set the content view to resize along with its superview
|
||||
[_contentView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
|
||||
|
||||
@@ -754,6 +790,9 @@ const int FrontViewPositionNone = 0xff;
|
||||
else return [self getCurrentOrientation]; // 90 Degree rotation not allowed in streaming or app view
|
||||
}
|
||||
|
||||
- (void)viewDidLayoutSubviews{
|
||||
// [self setupNavigationBarConstraints];
|
||||
}
|
||||
|
||||
|
||||
- (void)viewDidLoad{
|
||||
@@ -786,6 +825,70 @@ const int FrontViewPositionNone = 0xff;
|
||||
|
||||
#pragma mark - Public methods and property accessors
|
||||
|
||||
- (void)setupNavigationBar {
|
||||
// 创建导航栏
|
||||
if (_dockedNavBar == nil) _dockedNavBar = [[UINavigationBar alloc] init];
|
||||
_dockedNavBar.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
_dockedNavBar.userInteractionEnabled = YES;
|
||||
|
||||
// 创建导航项
|
||||
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:[LocalizationHelper localizedStringForKey:@"Settings"]];
|
||||
|
||||
// Back Button
|
||||
|
||||
UIButton *customBackButton = [UIButton buttonWithType:UIButtonTypeSystem];
|
||||
if (@available(iOS 13.0, *)) {
|
||||
[customBackButton setImage:[UIImage systemImageNamed:@"chevron.left"] forState:UIControlStateNormal];
|
||||
} else {
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
[customBackButton setTitle:[LocalizationHelper localizedStringForKey:@"Back"] forState:UIControlStateNormal];
|
||||
customBackButton.titleLabel.font = [UIFont systemFontOfSize:19 weight:UIFontWeightRegular];
|
||||
[customBackButton addTarget:self action:@selector(foldRearView) forControlEvents:UIControlEventTouchUpInside];
|
||||
//customBackButton.contentEdgeInsets = UIEdgeInsetsMake(8, 8, 8, 8); // 增加点击区域
|
||||
// customBackButton.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, -5);
|
||||
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customBackButton];
|
||||
|
||||
/*
|
||||
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithTitle:[LocalizationHelper localizedStringForKey:@"Back"]
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(foldRearView)];
|
||||
*/
|
||||
|
||||
navItem.leftBarButtonItem = backButtonItem;
|
||||
|
||||
_disconnectButton = [[UIBarButtonItem alloc] initWithTitle:[LocalizationHelper localizedStringForKey:@"Disconnect"]
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(disconnectRemoteSession)];
|
||||
navItem.rightBarButtonItem = _disconnectButton;
|
||||
|
||||
[_dockedNavBar setItems:@[navItem]];
|
||||
_dockedNavBar.barTintColor = [UIColor darkGrayColor];
|
||||
_dockedNavBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
|
||||
|
||||
[_contentView.rearNavView addSubview:_dockedNavBar];
|
||||
|
||||
// 设置导航栏约束
|
||||
[NSLayoutConstraint activateConstraints:@[
|
||||
[_dockedNavBar.topAnchor constraintEqualToAnchor:_contentView.rearNavView.topAnchor],
|
||||
[_dockedNavBar.bottomAnchor constraintEqualToAnchor:_contentView.rearNavView.bottomAnchor],
|
||||
[_dockedNavBar.leadingAnchor constraintEqualToAnchor:_contentView.rearNavView.leadingAnchor],
|
||||
[_dockedNavBar.widthAnchor constraintEqualToConstant:_rearViewRevealWidth],
|
||||
]];
|
||||
|
||||
}
|
||||
|
||||
- (void)foldRearView{
|
||||
[self revealToggleAnimated:YES];
|
||||
}
|
||||
|
||||
- (void)disconnectRemoteSession{
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"SessionDisconnectedBySettingsMenuNotification" object:self];
|
||||
[self foldRearView];
|
||||
}
|
||||
|
||||
- (void)setFrontViewController:(UIViewController *)frontViewController
|
||||
{
|
||||
[self setFrontViewController:frontViewController animated:NO];
|
||||
|
||||
@@ -16,6 +16,38 @@
|
||||
#import "CustomEdgeSlideGestureRecognizer.h"
|
||||
|
||||
@interface SettingsViewController : UIViewController
|
||||
@property (strong, nonatomic) IBOutlet UINavigationBar *navigationBar;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *resolutionStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *fpsStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *bitrateStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *touchModeStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *asyncTouchStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *pointerVelocityDividerStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *pointerVelocityFactorStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *touchMoveEventIntervalStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *mousePointerVelocityStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *onScreenWidgetStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *keyboardToggleFingerNumStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *liftStreamViewForKeyboardStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *showKeyboardToolbarStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *slideToSettingsScreenEdgeStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *slideToCmdToolScreenEdgeStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *slideToSettingsDistanceStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *optimizeSettingsStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *multiControllerStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *swapAbaxyStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *audioOnPcStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *codecStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *yuv444Stack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *HdrStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *framepacingStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *reverseMouseWheelDirectionStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *citrixX1MouseStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *statsOverlayStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *unlockDisplayOrientationStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *externalDisplayModeStack;
|
||||
@property (strong, nonatomic) IBOutlet UIStackView *localMousePointerModeStack;
|
||||
|
||||
@property (strong, nonatomic) IBOutlet UILabel *bitrateLabel;
|
||||
@property (strong, nonatomic) IBOutlet UISlider *bitrateSlider;
|
||||
@property (strong, nonatomic) IBOutlet UISegmentedControl *framerateSelector;
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
bool justEnteredSettingsViewDoNotOpenOscLayoutTool;
|
||||
uint16_t oscLayoutFingers;
|
||||
CustomEdgeSlideGestureRecognizer *slideToCloseSettingsViewRecognizer;
|
||||
UIStackView *parentStack;
|
||||
}
|
||||
|
||||
@dynamic overrideUserInterfaceStyle;
|
||||
@@ -159,6 +160,7 @@ CGSize resolutionTable[RESOLUTION_TABLE_SIZE];
|
||||
// Enumerate the scroll view's subviews looking for the
|
||||
// highest view Y value to set our scroll view's content
|
||||
// size.
|
||||
|
||||
for (UIView* view in self.scrollView.subviews) {
|
||||
// UIScrollViews have 2 default child views
|
||||
// which represent the horizontal and vertical scrolling
|
||||
@@ -177,7 +179,7 @@ CGSize resolutionTable[RESOLUTION_TABLE_SIZE];
|
||||
|
||||
// Add a bit of padding so the view doesn't end right at the button of the display
|
||||
self.scrollView.contentSize = CGSizeMake(self.scrollView.contentSize.width,
|
||||
highestViewY + 20);
|
||||
[self isIPhone] ? highestViewY + 20 : parentStack.frame.size.height + [self getStandardNavBarHeight] + 20);
|
||||
}
|
||||
|
||||
// Adjust the subviews for the safe area on the iPhone X.
|
||||
@@ -300,23 +302,13 @@ BOOL isCustomResolution(CGSize res) {
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"SettingsViewClosedNotification" object:self]; // notify other view that settings view just closed
|
||||
}
|
||||
|
||||
- (void)pushDownExistingWidgets{
|
||||
// Calculate the height needed for the exit button
|
||||
CGFloat exitButtonHeight = 50.0; // Adjust as needed
|
||||
CGFloat topOffset = exitButtonHeight; // Space needed for the exit button
|
||||
// Iterate through subviews of self.view and adjust their frames
|
||||
for (UIView *subview in self.view.subviews) {
|
||||
CGRect frame = subview.frame;
|
||||
frame.origin.y += topOffset;
|
||||
subview.frame = frame;
|
||||
}
|
||||
}
|
||||
|
||||
//deprecated
|
||||
- (IBAction)exitButtonTapped:(id)sender {
|
||||
[self->_mainFrameViewController simulateSettingsButtonPress];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"SessionDisconnectedBySettingsViewNotification" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"SessionDisconnectedBySettingsMenuNotification" object:self];
|
||||
}
|
||||
|
||||
//deprecated
|
||||
- (IBAction)backToStreamingButtonTapped:(id)sender {
|
||||
[self simulateSettingsButtonPress];
|
||||
}
|
||||
@@ -340,9 +332,77 @@ BOOL isCustomResolution(CGSize res) {
|
||||
[self simulateSettingsButtonPress];
|
||||
}
|
||||
|
||||
- (BOOL)isIPhone {
|
||||
return [UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone;
|
||||
}
|
||||
|
||||
- (CGFloat)getStandardNavBarHeight{
|
||||
return [self isIPhone] ? UINavigationBarHeightIPhone : UINavigationBarHeightIPad;
|
||||
}
|
||||
|
||||
- (void)layoutWidgetes {
|
||||
|
||||
// [self.view addSubview:self.navigationBar];
|
||||
|
||||
self.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentAutomatic;
|
||||
|
||||
// 可选:确保 scrollView 开启垂直滚动
|
||||
self.scrollView.alwaysBounceVertical = YES;
|
||||
|
||||
parentStack = [[UIStackView alloc] init];
|
||||
parentStack.axis = UILayoutConstraintAxisVertical;
|
||||
parentStack.spacing = 13;
|
||||
parentStack.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
[self.scrollView addSubview:parentStack];
|
||||
[NSLayoutConstraint activateConstraints:@[
|
||||
[parentStack.topAnchor constraintEqualToAnchor:self.scrollView.contentLayoutGuide.topAnchor constant: [self getStandardNavBarHeight] + 20],
|
||||
[parentStack.bottomAnchor constraintEqualToAnchor:self.scrollView.contentLayoutGuide.bottomAnchor constant:-20],
|
||||
[parentStack.leadingAnchor constraintEqualToAnchor:self.scrollView.contentLayoutGuide.leadingAnchor constant: 14],
|
||||
[parentStack.trailingAnchor constraintEqualToAnchor:self.scrollView.contentLayoutGuide.trailingAnchor constant: -15],
|
||||
[parentStack.widthAnchor constraintEqualToAnchor:self.scrollView.contentLayoutGuide.widthAnchor]
|
||||
]];
|
||||
|
||||
[parentStack addArrangedSubview:self.resolutionStack];
|
||||
// self.resolutionStack.hidden = YES;
|
||||
[parentStack addArrangedSubview:self.fpsStack];
|
||||
// self.fpsStack.hidden = YES;
|
||||
[parentStack addArrangedSubview:self.bitrateStack];
|
||||
// self.bitrateStack.hidden = YES;
|
||||
[parentStack addArrangedSubview:self.touchModeStack];
|
||||
[parentStack addArrangedSubview:self.asyncTouchStack];
|
||||
[parentStack addArrangedSubview:self.pointerVelocityDividerStack];
|
||||
[parentStack addArrangedSubview:self.pointerVelocityFactorStack];
|
||||
[parentStack addArrangedSubview:self.touchMoveEventIntervalStack];
|
||||
[parentStack addArrangedSubview:self.mousePointerVelocityStack];
|
||||
[parentStack addArrangedSubview:self.onScreenWidgetStack];
|
||||
[parentStack addArrangedSubview:self.keyboardToggleFingerNumStack];
|
||||
[parentStack addArrangedSubview:self.liftStreamViewForKeyboardStack];
|
||||
[parentStack addArrangedSubview:self.showKeyboardToolbarStack];
|
||||
[parentStack addArrangedSubview:self.slideToSettingsScreenEdgeStack];
|
||||
[parentStack addArrangedSubview:self.slideToCmdToolScreenEdgeStack];
|
||||
[parentStack addArrangedSubview:self.slideToSettingsDistanceStack];
|
||||
[parentStack addArrangedSubview:self.optimizeSettingsStack];
|
||||
[parentStack addArrangedSubview:self.multiControllerStack];
|
||||
[parentStack addArrangedSubview:self.swapAbaxyStack];
|
||||
[parentStack addArrangedSubview:self.audioOnPcStack];
|
||||
[parentStack addArrangedSubview:self.codecStack];
|
||||
[parentStack addArrangedSubview:self.yuv444Stack];
|
||||
[parentStack addArrangedSubview:self.HdrStack];
|
||||
[parentStack addArrangedSubview:self.framepacingStack];
|
||||
[parentStack addArrangedSubview:self.reverseMouseWheelDirectionStack];
|
||||
[parentStack addArrangedSubview:self.citrixX1MouseStack];
|
||||
[parentStack addArrangedSubview:self.statsOverlayStack];
|
||||
[parentStack addArrangedSubview:self.unlockDisplayOrientationStack];
|
||||
[parentStack addArrangedSubview:self.externalDisplayModeStack];
|
||||
[parentStack addArrangedSubview:self.localMousePointerModeStack];
|
||||
}
|
||||
|
||||
|
||||
- (void)viewDidLoad {
|
||||
//[self pushDownExistingWidgets];
|
||||
//[self addExitButtonOnTop];
|
||||
BOOL isIPad = ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad);
|
||||
if(isIPad) [self layoutWidgetes]; // layout for ipad tmply
|
||||
|
||||
self->slideToCloseSettingsViewRecognizer = [[CustomEdgeSlideGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
|
||||
slideToCloseSettingsViewRecognizer.edges = UIRectEdgeLeft;
|
||||
|
||||
@@ -250,8 +250,8 @@
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(sessionDisconnectedBySettingView) //quit session when exit button is press in setting view during streaming
|
||||
name:@"SessionDisconnectedBySettingsViewNotification"
|
||||
selector:@selector(disconnectRemoteSession) //quit session when exit button is press in setting view during streaming
|
||||
name:@"SessionDisconnectedBySettingsMenuNotification"
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
@@ -741,7 +741,7 @@
|
||||
[self expandSettingsView]; // expand settings view in other cases;
|
||||
}
|
||||
|
||||
- (void)sessionDisconnectedBySettingView {
|
||||
- (void)disconnectRemoteSession {
|
||||
Log(LOG_I, @"Settings view disconnect the session in stream view");
|
||||
self.mainFrameViewcontroller.settingsExpandedInStreamView = false; // reset this flag to false
|
||||
[self returnToMainFrame];
|
||||
|
||||
@@ -691,6 +691,126 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"bhC-da-VGd.segmentTitles[0]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; bhC-da-VGd.segmentTitles[0] = \"Touchpad\"; ObjectID = \"bhC-da-VGd\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Touchpad"
|
||||
}
|
||||
},
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "触控板"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "触控板"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "触控板"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bhC-da-VGd.segmentTitles[1]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; bhC-da-VGd.segmentTitles[1] = \"Native Touch\"; ObjectID = \"bhC-da-VGd\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Native Touch"
|
||||
}
|
||||
},
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "多点触控"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "多点触控"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "多点触控"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bhC-da-VGd.segmentTitles[2]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; bhC-da-VGd.segmentTitles[2] = \"Native Only\"; ObjectID = \"bhC-da-VGd\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Native Only"
|
||||
}
|
||||
},
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "仅多点触控"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "仅多点触控"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "仅多点触控"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bhC-da-VGd.segmentTitles[3]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; bhC-da-VGd.segmentTitles[3] = \"Absolute Touch\"; ObjectID = \"bhC-da-VGd\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Absolute Touch"
|
||||
}
|
||||
},
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "单点鼠标"
|
||||
}
|
||||
},
|
||||
"zh-Hant" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "单点鼠标"
|
||||
}
|
||||
},
|
||||
"zh-HK" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "单点鼠标"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Bhn-IO-Wlt.title" : {
|
||||
"comment" : "Class = \"UIBarButtonItem\"; title = \"ExportAll\"; ObjectID = \"Bhn-IO-Wlt\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
@@ -1231,9 +1351,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"dqh-nl-heL.title" : {
|
||||
"comment" : "Class = \"UINavigationItem\"; title = \"Title\"; ObjectID = \"dqh-nl-heL\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Title"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"e4G-id-vjI.segmentTitles[0]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; e4G-id-vjI.segmentTitles[0] = \"Touchpad\"; ObjectID = \"e4G-id-vjI\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1263,7 +1395,7 @@
|
||||
},
|
||||
"e4G-id-vjI.segmentTitles[1]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; e4G-id-vjI.segmentTitles[1] = \"Native Touch\"; ObjectID = \"e4G-id-vjI\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1293,7 +1425,7 @@
|
||||
},
|
||||
"e4G-id-vjI.segmentTitles[2]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; e4G-id-vjI.segmentTitles[2] = \"Native Only\"; ObjectID = \"e4G-id-vjI\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1323,7 +1455,7 @@
|
||||
},
|
||||
"e4G-id-vjI.segmentTitles[3]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; e4G-id-vjI.segmentTitles[3] = \"Absolute Touch\"; ObjectID = \"e4G-id-vjI\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1719,7 +1851,7 @@
|
||||
},
|
||||
"h5g-U1-Z2J.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Touch Mode \"; ObjectID = \"h5g-U1-Z2J\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -2467,6 +2599,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"MUY-2Y-bHi.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Touch Mode \"; ObjectID = \"MUY-2Y-bHi\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Touch Mode "
|
||||
}
|
||||
},
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "触控模式"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nCO-OT-dV1.segmentTitles[0]" : {
|
||||
"comment" : "Class = \"UISegmentedControl\"; nCO-OT-dV1.segmentTitles[0] = \"No\"; ObjectID = \"nCO-OT-dV1\";",
|
||||
"extractionState" : "stale",
|
||||
@@ -3351,7 +3501,7 @@
|
||||
},
|
||||
"uSS-ev-IFe.configuration.title" : {
|
||||
"comment" : "Class = \"UIButton\"; configuration.title = \"Back to Streaming\"; ObjectID = \"uSS-ev-IFe\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -3381,7 +3531,7 @@
|
||||
},
|
||||
"uSS-ev-IFe.normalTitle" : {
|
||||
"comment" : "Class = \"UIButton\"; normalTitle = \"Button\"; ObjectID = \"uSS-ev-IFe\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -3591,7 +3741,7 @@
|
||||
},
|
||||
"yq8-Hq-UWQ.configuration.title" : {
|
||||
"comment" : "Class = \"UIButton\"; configuration.title = \"Exit\"; ObjectID = \"yq8-Hq-UWQ\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -3621,7 +3771,7 @@
|
||||
},
|
||||
"yq8-Hq-UWQ.normalTitle" : {
|
||||
"comment" : "Class = \"UIButton\"; normalTitle = \"Button\"; ObjectID = \"yq8-Hq-UWQ\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
|
||||
@@ -843,7 +843,7 @@
|
||||
},
|
||||
"CMK-cS-h9b.configuration.title" : {
|
||||
"comment" : "Class = \"UIButton\"; configuration.title = \"Exit\"; ObjectID = \"CMK-cS-h9b\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -873,7 +873,7 @@
|
||||
},
|
||||
"CMK-cS-h9b.normalTitle" : {
|
||||
"comment" : "Class = \"UIButton\"; normalTitle = \"Button\"; ObjectID = \"CMK-cS-h9b\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1155,7 +1155,7 @@
|
||||
},
|
||||
"FqF-bM-afQ.configuration.title" : {
|
||||
"comment" : "Class = \"UIButton\"; configuration.title = \"Back to Streaming\"; ObjectID = \"FqF-bM-afQ\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
@@ -1185,7 +1185,7 @@
|
||||
},
|
||||
"FqF-bM-afQ.normalTitle" : {
|
||||
"comment" : "Class = \"UIButton\"; normalTitle = \"Button\"; ObjectID = \"FqF-bM-afQ\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"extractionState" : "stale",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
|
||||
Reference in New Issue
Block a user