Skip to content

Commit b784665

Browse files
committed
fix luaview frame
1 parent 220f49f commit b784665

File tree

3 files changed

+189
-51
lines changed

3 files changed

+189
-51
lines changed

VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VPLua/Applets/VPLuaAppletsView.m

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,69 @@ - (void)updateFrame:(CGRect)frame videoRect:(CGRect)videoRect isFullScreen:(BOOL
8484
}
8585

8686
- (void)updateVideoPlayerOrientation:(VPLuaVideoPlayerOrientation)type {
87-
self.frame = [UIScreen mainScreen].bounds;
88-
switch (type) {
89-
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
90-
self.isFullScreen = NO;
91-
self.isPortrait = YES;
92-
break;
93-
case VPLuaVideoPlayerOrientationPortraitFullScreen:
94-
self.isFullScreen = YES;
95-
self.isPortrait = YES;
96-
break;
97-
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
98-
self.isFullScreen = YES;
99-
self.isPortrait = NO;
100-
break;
101-
102-
default:
103-
break;
87+
88+
VPUPVideoPlayerSize *videoPlayerSize = [VPUPInterfaceDataServiceManager videoPlayerSize];
89+
90+
CGFloat viewWidth = self.bounds.size.width;
91+
CGFloat viewHeight = self.bounds.size.height;
92+
93+
if (videoPlayerSize && videoPlayerSize.portraitFullScreenHeight > 0) {
94+
switch (type) {
95+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
96+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
97+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
98+
self.isFullScreen = NO;
99+
self.isPortrait = YES;
100+
break;
101+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
102+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
103+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
104+
self.isFullScreen = YES;
105+
self.isPortrait = YES;
106+
break;
107+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
108+
viewWidth = videoPlayerSize.portraitFullScreenHeight;
109+
viewHeight = videoPlayerSize.portraitFullScreenWidth;
110+
self.isFullScreen = YES;
111+
self.isPortrait = NO;
112+
break;
113+
114+
default:
115+
break;
116+
}
104117
}
118+
else {
119+
CGFloat portraitFullScreenWidth = MIN([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
120+
CGFloat portraitFullScreenHeight = MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
121+
switch (type) {
122+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
123+
viewWidth = portraitFullScreenWidth;
124+
viewHeight = portraitFullScreenWidth * 9.0 / 16.0;
125+
self.isFullScreen = NO;
126+
self.isPortrait = YES;
127+
break;
128+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
129+
viewWidth = portraitFullScreenWidth;
130+
viewHeight = portraitFullScreenHeight;
131+
self.isFullScreen = YES;
132+
self.isPortrait = YES;
133+
break;
134+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
135+
viewWidth = portraitFullScreenHeight;
136+
viewHeight = portraitFullScreenWidth;
137+
self.isFullScreen = YES;
138+
self.isPortrait = NO;
139+
break;
140+
141+
default:
142+
break;
143+
}
144+
}
145+
146+
CGRect rect = self.frame;
147+
rect.size.width = viewWidth;
148+
rect.size.height = viewHeight;
149+
self.frame = rect;
105150

106151
if (self.isPortrait) {
107152
[self.containers enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, id<VPLuaAppletContainer> _Nonnull obj, BOOL * _Nonnull stop) {

VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VPLua/OS/VPLuaDesktopView.m

Lines changed: 63 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -87,24 +87,70 @@ - (void)updateFrame:(CGRect)frame videoRect:(CGRect)videoRect isFullScreen:(BOOL
8787
}
8888

8989
- (void)updateVideoPlayerOrientation:(VPLuaVideoPlayerOrientation)type {
90-
self.frame = [UIScreen mainScreen].bounds;
91-
switch (type) {
92-
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
93-
self.isFullScreen = NO;
94-
self.isPortrait = YES;
95-
break;
96-
case VPLuaVideoPlayerOrientationPortraitFullScreen:
97-
self.isFullScreen = YES;
98-
self.isPortrait = YES;
99-
break;
100-
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
101-
self.isFullScreen = YES;
102-
self.isPortrait = NO;
103-
break;
104-
105-
default:
106-
break;
90+
91+
VPUPVideoPlayerSize *videoPlayerSize = [VPUPInterfaceDataServiceManager videoPlayerSize];
92+
93+
CGFloat viewWidth = self.bounds.size.width;
94+
CGFloat viewHeight = self.bounds.size.height;
95+
96+
if (videoPlayerSize && videoPlayerSize.portraitFullScreenHeight > 0) {
97+
switch (type) {
98+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
99+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
100+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
101+
self.isFullScreen = NO;
102+
self.isPortrait = YES;
103+
break;
104+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
105+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
106+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
107+
self.isFullScreen = YES;
108+
self.isPortrait = YES;
109+
break;
110+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
111+
viewWidth = videoPlayerSize.portraitFullScreenHeight;
112+
viewHeight = videoPlayerSize.portraitFullScreenWidth;
113+
self.isFullScreen = YES;
114+
self.isPortrait = NO;
115+
break;
116+
117+
default:
118+
break;
119+
}
120+
}
121+
else {
122+
CGFloat portraitFullScreenWidth = MIN([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
123+
CGFloat portraitFullScreenHeight = MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
124+
switch (type) {
125+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
126+
viewWidth = portraitFullScreenWidth;
127+
viewHeight = portraitFullScreenWidth * 9.0 / 16.0;
128+
self.isFullScreen = NO;
129+
self.isPortrait = YES;
130+
break;
131+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
132+
viewWidth = portraitFullScreenWidth;
133+
viewHeight = portraitFullScreenHeight;
134+
self.isFullScreen = YES;
135+
self.isPortrait = YES;
136+
break;
137+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
138+
viewWidth = portraitFullScreenHeight;
139+
viewHeight = portraitFullScreenWidth;
140+
self.isFullScreen = YES;
141+
self.isPortrait = NO;
142+
break;
143+
144+
default:
145+
break;
146+
}
107147
}
148+
149+
CGRect rect = self.frame;
150+
rect.size.width = viewWidth;
151+
rect.size.height = viewHeight;
152+
self.frame = rect;
153+
108154
self.luaController.currentOrientation = type;
109155
[self.luaController updateFrame:self.bounds isPortrait:self.isPortrait isFullScreen:self.isFullScreen];
110156
}

VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VideoPlsLuaViewManagerSDK/VPLua/OS/VPLuaOSView.m

Lines changed: 64 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#import "VPLuaSDK.h"
1515
#import "VPLuaPlayer.h"
1616
#import <objc/message.h>
17+
#import "VPUPInterfaceDataServiceManager.h"
1718

1819
NSString *const VPOSLuaEndNotification = @"VPOSLuaEndNotification";
1920
NSString *const VPLuaOSLoadCompleteNotification = @"VPLuaOSLoadCompleteNotification";
@@ -94,24 +95,70 @@ - (void)updateFrame:(CGRect)frame videoRect:(CGRect)videoRect isFullScreen:(BOOL
9495
}
9596

9697
- (void)updateVideoPlayerOrientation:(VPLuaVideoPlayerOrientation)type {
97-
self.frame = [UIScreen mainScreen].bounds;
98-
switch (type) {
99-
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
100-
self.isFullScreen = NO;
101-
self.isPortrait = YES;
102-
break;
103-
case VPLuaVideoPlayerOrientationPortraitFullScreen:
104-
self.isFullScreen = YES;
105-
self.isPortrait = YES;
106-
break;
107-
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
108-
self.isFullScreen = YES;
109-
self.isPortrait = NO;
110-
break;
111-
112-
default:
113-
break;
98+
99+
VPUPVideoPlayerSize *videoPlayerSize = [VPUPInterfaceDataServiceManager videoPlayerSize];
100+
101+
CGFloat viewWidth = self.bounds.size.width;
102+
CGFloat viewHeight = self.bounds.size.height;
103+
104+
if (videoPlayerSize && videoPlayerSize.portraitFullScreenHeight > 0) {
105+
switch (type) {
106+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
107+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
108+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
109+
self.isFullScreen = NO;
110+
self.isPortrait = YES;
111+
break;
112+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
113+
viewWidth = videoPlayerSize.portraitFullScreenWidth;
114+
viewHeight = videoPlayerSize.portraitFullScreenHeight;
115+
self.isFullScreen = YES;
116+
self.isPortrait = YES;
117+
break;
118+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
119+
viewWidth = videoPlayerSize.portraitFullScreenHeight;
120+
viewHeight = videoPlayerSize.portraitFullScreenWidth;
121+
self.isFullScreen = YES;
122+
self.isPortrait = NO;
123+
break;
124+
125+
default:
126+
break;
127+
}
128+
}
129+
else {
130+
CGFloat portraitFullScreenWidth = MIN([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
131+
CGFloat portraitFullScreenHeight = MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
132+
switch (type) {
133+
case VPLuaVideoPlayerOrientationPortraitSmallScreen:
134+
viewWidth = portraitFullScreenWidth;
135+
viewHeight = portraitFullScreenWidth * 9.0 / 16.0;
136+
self.isFullScreen = NO;
137+
self.isPortrait = YES;
138+
break;
139+
case VPLuaVideoPlayerOrientationPortraitFullScreen:
140+
viewWidth = portraitFullScreenWidth;
141+
viewHeight = portraitFullScreenHeight;
142+
self.isFullScreen = YES;
143+
self.isPortrait = YES;
144+
break;
145+
case VPLuaVideoPlayerOrientationLandscapeFullScreen:
146+
viewWidth = portraitFullScreenHeight;
147+
viewHeight = portraitFullScreenWidth;
148+
self.isFullScreen = YES;
149+
self.isPortrait = NO;
150+
break;
151+
152+
default:
153+
break;
154+
}
114155
}
156+
157+
CGRect rect = self.frame;
158+
rect.size.width = viewWidth;
159+
rect.size.height = viewHeight;
160+
self.frame = rect;
161+
115162
self.luaController.currentOrientation = type;
116163
[self.luaController updateFrame:self.bounds isPortrait:self.isPortrait isFullScreen:self.isFullScreen];
117164
}

0 commit comments

Comments
 (0)