"airplay" for default external display mode

This commit is contained in:
TrueZhuangjia authored and TrueZhuanjia committed 2025-04-02 10:39:32 +08:00
1 parent c860433065
commit 03046988c7
8 files changed
+160 -47

No files matched your search

+35 -21
View File
@@ -561,7 +561,6 @@ ICAgICAgICAgICAgICA
<segments> <segments>
<segment title="Stage Manager"/> <segment title="Stage Manager"/>
<segment title="AirPlay"/> <segment title="AirPlay"/>
<segment title="Disabled"/>
</segments> </segments>
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <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"/> <color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -971,32 +970,45 @@ ICAgICAgICAgICAgICA
<viewControllerLayoutGuide type="bottom" id="8ja-wQ-jbJ"/> <viewControllerLayoutGuide type="bottom" id="8ja-wQ-jbJ"/>
</layoutGuides> </layoutGuides>
<view key="view" contentMode="scaleToFill" id="PlJ-LJ-d1p"> <view key="view" contentMode="scaleToFill" id="PlJ-LJ-d1p">
<rect key="frame" x="0.0" y="0.0" width="834" height="1194"/> <rect key="frame" x="0.0" y="0.0" width="1133" height="744"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<tableView opaque="NO" clearsContextBeforeDrawing="NO" alpha="0.5" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="BA3-hd-bDp"> <tableView opaque="NO" clearsContextBeforeDrawing="NO" alpha="0.5" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="BA3-hd-bDp">
<rect key="frame" x="0.0" y="44" width="834" height="1150"/> <rect key="frame" x="50" y="0.0" width="1033" height="744"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableView> </tableView>
<navigationBar contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="62V-DN-FUk"> <navigationBar clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="62V-DN-FUk">
<rect key="frame" x="0.0" y="0.0" width="834" height="44"/> <rect key="frame" x="50" y="0.0" width="1033" height="44"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="44" id="lQr-5u-g05"/> <constraint firstAttribute="height" constant="44" id="lQr-5u-g05"/>
</constraints> </constraints>
<items> <items>
<navigationItem title="Controller &amp; Widget Profiles" id="Q2V-XF-4jq"> <navigationItem title="Controller &amp; Widget Profiles" id="Q2V-XF-4jq">
<barButtonItem key="leftBarButtonItem" title="Export All" width="90" style="plain" id="Bhn-IO-Wlt" userLabel="Export Data">
<connections> <leftBarButtonItems>
<action selector="exportDataTapped:" destination="Atv-Nj-0qv" id="pwG-sO-9he"/> <barButtonItem title="Exit" width="45" style="plain" id="czn-mj-8d1">
</connections> <connections>
</barButtonItem> <action selector="exitTapped:" destination="Atv-Nj-0qv" id="IvQ-c3-bmW"/>
</connections>
</barButtonItem>
<barButtonItem title="ExportAll" width="70" style="plain" id="Bhn-IO-Wlt" userLabel="Export Data">
<connections>
<action selector="exportDataTapped:" destination="Atv-Nj-0qv" id="pwG-sO-9he"/>
</connections>
</barButtonItem>
<barButtonItem title="Import" width="48" style="plain" id="CpY-Sb-BDc" userLabel="Import Data">
<connections>
<action selector="importDataTapped:" destination="Atv-Nj-0qv" id="Uq0-Ct-LbS"/>
</connections>
</barButtonItem>
</leftBarButtonItems>
<rightBarButtonItems> <rightBarButtonItems>
<barButtonItem title="Duplicate" width="90" style="plain" id="P34-hO-6cX"> <barButtonItem title="Duplicate" width="80" style="plain" id="P34-hO-6cX">
<connections> <connections>
<action selector="duplicateTapped:" destination="Atv-Nj-0qv" id="Ymg-8q-iIc"/> <action selector="duplicateTapped:" destination="Atv-Nj-0qv" id="Ymg-8q-iIc"/>
</connections> </connections>
</barButtonItem> </barButtonItem>
<barButtonItem title="Delete" width="90" style="plain" id="egC-9E-zS4" userLabel="Delete"> <barButtonItem title="Delete" width="80" style="plain" id="egC-9E-zS4" userLabel="Delete">
<connections> <connections>
<action selector="deleteTapped:" destination="Atv-Nj-0qv" id="UpR-VB-qez"/> <action selector="deleteTapped:" destination="Atv-Nj-0qv" id="UpR-VB-qez"/>
</connections> </connections>
@@ -1008,24 +1020,26 @@ ICAgICAgICAgICAgICA
</subviews> </subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstItem="62V-DN-FUk" firstAttribute="leading" secondItem="PlJ-LJ-d1p" secondAttribute="leading" id="5fw-ZV-2GR"/> <constraint firstItem="62V-DN-FUk" firstAttribute="leading" secondItem="PlJ-LJ-d1p" secondAttribute="leading" constant="50" id="5fw-ZV-2GR"/>
<constraint firstAttribute="bottom" secondItem="BA3-hd-bDp" secondAttribute="bottom" id="5xN-fy-xH7"/> <constraint firstAttribute="bottom" secondItem="BA3-hd-bDp" secondAttribute="bottom" id="5xN-fy-xH7"/>
<constraint firstAttribute="trailing" secondItem="62V-DN-FUk" secondAttribute="trailing" id="7ZT-th-hPo"/> <constraint firstAttribute="trailing" secondItem="62V-DN-FUk" secondAttribute="trailing" constant="50" id="7ZT-th-hPo"/>
<constraint firstItem="BA3-hd-bDp" firstAttribute="leading" secondItem="PlJ-LJ-d1p" secondAttribute="leading" id="AYr-wz-Qrt"/> <constraint firstItem="BA3-hd-bDp" firstAttribute="leading" secondItem="PlJ-LJ-d1p" secondAttribute="leading" constant="50" id="AYr-wz-Qrt"/>
<constraint firstItem="BA3-hd-bDp" firstAttribute="top" secondItem="62V-DN-FUk" secondAttribute="bottom" id="TgZ-Pm-jit"/> <constraint firstItem="BA3-hd-bDp" firstAttribute="top" secondItem="62V-DN-FUk" secondAttribute="top" id="TgZ-Pm-jit"/>
<constraint firstItem="62V-DN-FUk" firstAttribute="top" secondItem="PlJ-LJ-d1p" secondAttribute="top" id="g6N-4g-Wej"/> <constraint firstItem="62V-DN-FUk" firstAttribute="top" secondItem="PlJ-LJ-d1p" secondAttribute="top" symbolic="YES" id="g6N-4g-Wej"/>
<constraint firstAttribute="trailing" secondItem="BA3-hd-bDp" secondAttribute="trailing" id="iwN-Gw-g4S"/> <constraint firstAttribute="trailing" secondItem="BA3-hd-bDp" secondAttribute="trailing" constant="50" id="iwN-Gw-g4S"/>
</constraints> </constraints>
</view> </view>
<toolbarItems/> <toolbarItems/>
<simulatedToolbarMetrics key="simulatedBottomBarMetrics"/> <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
<size key="freeformSize" width="1133" height="744"/>
<connections> <connections>
<outlet property="profileTableViewNavigationBar" destination="62V-DN-FUk" id="c3i-qa-4ix"/>
<outlet property="tableView" destination="BA3-hd-bDp" id="Jzl-sP-ANp"/> <outlet property="tableView" destination="BA3-hd-bDp" id="Jzl-sP-ANp"/>
</connections> </connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="K4u-Tz-tXU" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="K4u-Tz-tXU" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="3388" y="1068"/> <point key="canvasLocation" x="3514" y="1068"/>
</scene> </scene>
</scenes> </scenes>
<resources> <resources>
@@ -1036,13 +1050,13 @@ ICAgICAgICAgICAgICA
<image name="SquaresArrowUp" width="40" height="40"/> <image name="SquaresArrowUp" width="40" height="40"/>
<image name="Trash" width="40" height="40"/> <image name="Trash" width="40" height="40"/>
<systemColor name="secondaryLabelColor"> <systemColor name="secondaryLabelColor">
<color red="0.23529411759999999" green="0.23529411759999999" blue="0.26274509800000001" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.23529411764705882" green="0.23529411764705882" blue="0.2627450980392157" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor> </systemColor>
<systemColor name="systemBackgroundColor"> <systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor> </systemColor>
<systemColor name="tintColor"> <systemColor name="tintColor">
<color red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.0" green="0.47843137254901963" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor> </systemColor>
<systemColor name="viewFlipsideBackgroundColor"> <systemColor name="viewFlipsideBackgroundColor">
<color red="0.12156862745098039" green="0.12941176470588237" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.12156862745098039" green="0.12941176470588237" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+27 -14
View File
@@ -552,7 +552,6 @@ ICAgICAgICAgICAgIA
<segments> <segments>
<segment title="Stage Manager"/> <segment title="Stage Manager"/>
<segment title="AirPlay"/> <segment title="AirPlay"/>
<segment title="Disabled"/>
</segments> </segments>
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <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"/> <color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -974,26 +973,38 @@ ICAgICAgICAgICAgIA
<viewControllerLayoutGuide type="bottom" id="9SV-fx-82v"/> <viewControllerLayoutGuide type="bottom" id="9SV-fx-82v"/>
</layoutGuides> </layoutGuides>
<view key="view" contentMode="scaleToFill" id="bTO-bs-q93"> <view key="view" contentMode="scaleToFill" id="bTO-bs-q93">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/> <rect key="frame" x="0.0" y="0.0" width="852" height="393"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<tableView opaque="NO" clearsContextBeforeDrawing="NO" alpha="0.5" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="kTH-ez-aKD"> <tableView opaque="NO" clearsContextBeforeDrawing="NO" alpha="0.5" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="kTH-ez-aKD">
<rect key="frame" x="0.0" y="48" width="414" height="848"/> <rect key="frame" x="80" y="48" width="692" height="325"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="sectionIndexBackgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableView> </tableView>
<navigationBar contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zsA-6X-Qc5"> <navigationBar contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zsA-6X-Qc5">
<rect key="frame" x="0.0" y="48" width="414" height="44"/> <rect key="frame" x="80" y="48" width="692" height="44"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="44" id="R90-2b-UrU"/> <constraint firstAttribute="height" constant="44" id="R90-2b-UrU"/>
</constraints> </constraints>
<items> <items>
<navigationItem title="Controller &amp; Widget Profiles" id="5pN-Sn-SCN"> <navigationItem title="Controller &amp; Widget Profiles" id="5pN-Sn-SCN">
<barButtonItem key="leftBarButtonItem" title="Export All" id="D9X-7p-9oc"> <leftBarButtonItems>
<connections> <barButtonItem title="Exit" id="sUC-Ur-7eI">
<action selector="exportDataTapped:" destination="0K8-kQ-xlN" id="Sam-Ct-kqC"/> <connections>
</connections> <action selector="exitTapped:" destination="0K8-kQ-xlN" id="lAJ-eO-ez7"/>
</barButtonItem> </connections>
</barButtonItem>
<barButtonItem title="ExportAll" id="D9X-7p-9oc">
<connections>
<action selector="exportDataTapped:" destination="0K8-kQ-xlN" id="Sam-Ct-kqC"/>
</connections>
</barButtonItem>
<barButtonItem title="Import" id="Z9M-yq-an2">
<connections>
<action selector="importDataTapped:" destination="0K8-kQ-xlN" id="OaF-8j-7Wy"/>
</connections>
</barButtonItem>
</leftBarButtonItems>
<rightBarButtonItems> <rightBarButtonItems>
<barButtonItem title="Duplicate" width="80" style="plain" id="bue-hp-CWD"> <barButtonItem title="Duplicate" width="80" style="plain" id="bue-hp-CWD">
<connections> <connections>
@@ -1012,16 +1023,18 @@ ICAgICAgICAgICAgIA
</subviews> </subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstItem="zsA-6X-Qc5" firstAttribute="leading" secondItem="bTO-bs-q93" secondAttribute="leading" id="0Fi-vo-M6P"/> <constraint firstItem="zsA-6X-Qc5" firstAttribute="leading" secondItem="bTO-bs-q93" secondAttribute="leading" constant="80" id="0Fi-vo-M6P"/>
<constraint firstAttribute="bottom" secondItem="kTH-ez-aKD" secondAttribute="bottom" id="1FM-gO-6PR"/> <constraint firstAttribute="bottom" secondItem="kTH-ez-aKD" secondAttribute="bottom" constant="20" symbolic="YES" id="1FM-gO-6PR"/>
<constraint firstAttribute="trailing" secondItem="kTH-ez-aKD" secondAttribute="trailing" id="ArS-pG-QUR"/> <constraint firstAttribute="trailing" secondItem="kTH-ez-aKD" secondAttribute="trailing" constant="80" id="ArS-pG-QUR"/>
<constraint firstItem="kTH-ez-aKD" firstAttribute="leading" secondItem="bTO-bs-q93" secondAttribute="leading" id="Ujg-Sw-4hq"/> <constraint firstItem="kTH-ez-aKD" firstAttribute="leading" secondItem="bTO-bs-q93" secondAttribute="leading" constant="80" id="Ujg-Sw-4hq"/>
<constraint firstAttribute="trailing" secondItem="zsA-6X-Qc5" secondAttribute="trailing" id="YKK-qs-mZR"/> <constraint firstAttribute="trailing" secondItem="zsA-6X-Qc5" secondAttribute="trailing" constant="80" id="YKK-qs-mZR"/>
<constraint firstItem="zsA-6X-Qc5" firstAttribute="top" secondItem="bTO-bs-q93" secondAttribute="topMargin" id="gZg-eJ-rnP"/> <constraint firstItem="zsA-6X-Qc5" firstAttribute="top" secondItem="bTO-bs-q93" secondAttribute="topMargin" id="gZg-eJ-rnP"/>
<constraint firstItem="kTH-ez-aKD" firstAttribute="top" secondItem="Nat-X1-41w" secondAttribute="bottom" id="txs-Df-ANQ"/> <constraint firstItem="kTH-ez-aKD" firstAttribute="top" secondItem="Nat-X1-41w" secondAttribute="bottom" id="txs-Df-ANQ"/>
</constraints> </constraints>
</view> </view>
<size key="freeformSize" width="852" height="393"/>
<connections> <connections>
<outlet property="profileTableViewNavigationBar" destination="zsA-6X-Qc5" id="13u-ks-fVC"/>
<outlet property="tableView" destination="kTH-ez-aKD" id="pqR-CC-Kfh"/> <outlet property="tableView" destination="kTH-ez-aKD" id="pqR-CC-Kfh"/>
</connections> </connections>
</viewController> </viewController>
+1 -1
View File
@@ -824,7 +824,7 @@ static float L3_Y;
- (void) setOpacityForCutsomControllerLayers { - (void) setOpacityForCutsomControllerLayers {
OSCProfile *oscProfile = [profilesManager getSelectedProfile]; OSCProfile *oscProfile = [profilesManager getSelectedProfile];
bool defaultProfileSelected = [profilesManager getIndexOfSelectedProfile] == 0; // bool defaultProfileSelected = [profilesManager getIndexOfSelectedProfile] == 0;
for (NSData *buttonStateEncoded in oscProfile.buttonStates) { for (NSData *buttonStateEncoded in oscProfile.buttonStates) {
OnScreenButtonState* buttonStateDecoded = [profilesManager unarchiveButtonStateEncoded:buttonStateEncoded]; OnScreenButtonState* buttonStateDecoded = [profilesManager unarchiveButtonStateEncoded:buttonStateEncoded];
@@ -27,7 +27,7 @@
<attribute name="deviceGyroMode" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/> <attribute name="deviceGyroMode" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
<attribute name="enableHdr" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/> <attribute name="enableHdr" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/>
<attribute name="enableYUV444" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/> <attribute name="enableYUV444" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/>
<attribute name="externalDisplayMode" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/> <attribute name="externalDisplayMode" optional="YES" attributeType="Integer 16" defaultValueString="1" usesScalarValueType="NO" syncable="YES"/>
<attribute name="framerate" attributeType="Integer 32" defaultValueString="60" usesScalarValueType="NO" syncable="YES"/> <attribute name="framerate" attributeType="Integer 32" defaultValueString="60" usesScalarValueType="NO" syncable="YES"/>
<attribute name="height" attributeType="Integer 32" defaultValueString="720" usesScalarValueType="NO" syncable="YES"/> <attribute name="height" attributeType="Integer 32" defaultValueString="720" usesScalarValueType="NO" syncable="YES"/>
<attribute name="keyboardToggleFingers" optional="YES" attributeType="Integer 16" defaultValueString="3" usesScalarValueType="NO" syncable="YES"/> <attribute name="keyboardToggleFingers" optional="YES" attributeType="Integer 16" defaultValueString="3" usesScalarValueType="NO" syncable="YES"/>
@@ -28,6 +28,7 @@ typedef NS_ENUM(NSUInteger, FileOperation) {
@property (nonatomic, copy) void (^needToUpdateOscLayoutTVC)(void); @property (nonatomic, copy) void (^needToUpdateOscLayoutTVC)(void);
@property (nonatomic, assign) NSMutableArray *currentOSCButtonLayers; @property (nonatomic, assign) NSMutableArray *currentOSCButtonLayers;
@property (nonatomic, assign) CGRect streamViewBounds; @property (nonatomic, assign) CGRect streamViewBounds;
@property (weak, nonatomic) IBOutlet UINavigationBar *profileTableViewNavigationBar;
@end @end
@@ -45,9 +45,31 @@ const double NAV_BAR_HEIGHT = 50;
} }
- (void) viewDidLayoutSubviews {
CGRect bounds = self.profileTableViewNavigationBar.bounds;
CGSize cornerSize = CGSizeMake(15, 15);
// 创建一个 UIBezierPath,设置顶部圆角
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:cornerSize];
//byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) // 只设置上半部分圆角
// cornerRadius:10]; // 圆角半径
// 创建一个 CAShapeLayer 并将圆角路径应用到该图层
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = bounds;
maskLayer.path = path.CGPath;
self.profileTableViewNavigationBar.layer.masksToBounds = true; // 使圆角生效
self.profileTableViewNavigationBar.layer.mask = maskLayer;
self.tableView.layer.cornerRadius = 15; // 设置圆角半径
self.tableView.layer.masksToBounds = true; // 使圆角生效
}
- (void) viewDidLoad { - (void) viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
// self.profileTableViewNavigationBar.layer.cornerRadius = 15; // 设置圆角半径
profilesManager = [OSCProfilesManager sharedManager:_streamViewBounds]; profilesManager = [OSCProfilesManager sharedManager:_streamViewBounds];
@@ -67,8 +89,8 @@ const double NAV_BAR_HEIGHT = 50;
- (void) viewDidAppear:(BOOL)animated { - (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated]; [super viewDidAppear: animated];
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
self.tableView.delegate = self; self.tableView.delegate = self;
self.tableView.dataSource = self; self.tableView.dataSource = self;
@@ -189,6 +211,9 @@ const double NAV_BAR_HEIGHT = 50;
[self presentViewController:documentPicker animated:YES completion:nil]; [self presentViewController:documentPicker animated:YES completion:nil];
} }
- (IBAction) exitTapped:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark - UIDocumentPickerDelegate #pragma mark - UIDocumentPickerDelegate
- (void)documentPicker:(UIDocumentPickerViewController *)controller - (void)documentPicker:(UIDocumentPickerViewController *)controller
+33 -3
View File
@@ -536,13 +536,13 @@
} }
}, },
"Bhn-IO-Wlt.title" : { "Bhn-IO-Wlt.title" : {
"comment" : "Class = \"UIBarButtonItem\"; title = \"Export All\"; ObjectID = \"Bhn-IO-Wlt\";", "comment" : "Class = \"UIBarButtonItem\"; title = \"ExportAll\"; ObjectID = \"Bhn-IO-Wlt\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",
"localizations" : { "localizations" : {
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {
"state" : "new", "state" : "new",
"value" : "Export All" "value" : "ExportAll"
} }
}, },
"zh-Hans" : { "zh-Hans" : {
@@ -895,6 +895,36 @@
} }
} }
}, },
"czn-mj-8d1.title" : {
"comment" : "Class = \"UIBarButtonItem\"; title = \"Exit\"; ObjectID = \"czn-mj-8d1\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
"value" : "Exit"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
}
}
},
"DkI-w6-jku.text" : { "DkI-w6-jku.text" : {
"comment" : "Class = \"UILabel\"; text = \"Touch Pointer Velocity: Scaled on 0% of Right Screen \"; ObjectID = \"DkI-w6-jku\";", "comment" : "Class = \"UILabel\"; text = \"Touch Pointer Velocity: Scaled on 0% of Right Screen \"; ObjectID = \"DkI-w6-jku\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",
@@ -2529,7 +2559,7 @@
}, },
"VWB-YB-Ptj.segmentTitles[2]" : { "VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";", "comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
"extractionState" : "extracted_with_value", "extractionState" : "stale",
"localizations" : { "localizations" : {
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {
+36 -6
View File
@@ -890,30 +890,30 @@
} }
}, },
"D9X-7p-9oc.title" : { "D9X-7p-9oc.title" : {
"comment" : "Class = \"UIBarButtonItem\"; title = \"Export All\"; ObjectID = \"D9X-7p-9oc\";", "comment" : "Class = \"UIBarButtonItem\"; title = \"ExportAll\"; ObjectID = \"D9X-7p-9oc\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",
"localizations" : { "localizations" : {
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {
"state" : "new", "state" : "new",
"value" : "Export All" "value" : "ExportAll"
} }
}, },
"zh-Hans" : { "zh-Hans" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "导出所有" "value" : "导出所有"
} }
}, },
"zh-Hant" : { "zh-Hant" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "导出所有" "value" : "导出所有"
} }
}, },
"zh-HK" : { "zh-HK" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "导出所有" "value" : "导出所有"
} }
} }
@@ -2149,6 +2149,36 @@
} }
} }
}, },
"sUC-Ur-7eI.title" : {
"comment" : "Class = \"UIBarButtonItem\"; title = \"Exit\"; ObjectID = \"sUC-Ur-7eI\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
"value" : "Exit"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "退出"
}
}
}
},
"svh-LO-bTr.text" : { "svh-LO-bTr.text" : {
"comment" : "Class = \"UILabel\"; text = \"Reverse Wheel Direction for Physical Mouse \"; ObjectID = \"svh-LO-bTr\";", "comment" : "Class = \"UILabel\"; text = \"Reverse Wheel Direction for Physical Mouse \"; ObjectID = \"svh-LO-bTr\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",
@@ -2313,7 +2343,7 @@
}, },
"VWB-YB-Ptj.segmentTitles[2]" : { "VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";", "comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
"extractionState" : "extracted_with_value", "extractionState" : "stale",
"localizations" : { "localizations" : {
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {