From 83de5ad48e86873b698c904f8954576e8b31dfb5 Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期二, 20 六月 2023 11:35:36 +0800
Subject: [PATCH] feature 门锁全屏 && 设置页面UI
---
EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m | 96 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 94 insertions(+), 2 deletions(-)
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
index c77fe02..d790261 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
@@ -89,6 +89,7 @@
@property (nonatomic, strong) EZCameraInfo *cameraInfo;
@property (weak, nonatomic) IBOutlet UILabel *streamTypeLabel;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *scrollViewTopMargin;
@property (weak, nonatomic) IBOutlet UILabel *zoomSizeLabel;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *scrollViewWHRatio; // 婊氬姩瑙嗗浘瀹介珮姣�
@property (nonatomic, strong) HDLEZButton *unlockButton;//寮�閿佹寜閽�
@@ -96,6 +97,13 @@
@property (nonatomic, copy) NSString *streamToken;
@property (nonatomic, strong) UIView *doorPlayerView;//闂ㄩ攣鎾斁view
+
+// 鍛煎彨瑙嗗浘鐩稿叧鎺т欢
+@property (weak, nonatomic) IBOutlet UIView *videoCallOutView; // 鍛煎彨寮规
+@property (weak, nonatomic) IBOutlet UILabel *callOutAlertLabel; // 鎻愮ず璇█
+@property (weak, nonatomic) IBOutlet UIButton *hangUpButton; // 鎸傛柇鎸夐挳
+@property (weak, nonatomic) IBOutlet UIButton *ignoreButton; // 蹇界暐鎸夐挳
+@property (weak, nonatomic) IBOutlet UIButton *answerButton; // 鎺ュ惉鎸夐挳
@end
@@ -333,6 +341,7 @@
self.captureButton.enabled = NO;
self.localRecordButton.enabled = NO;
self.streamPlayBtn.hidden = YES;
+ self.isShowAlert = YES;
if (_url)
{
@@ -464,6 +473,14 @@
// [self.controlButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
// [self.controlButton setTitle:NSLocalizedString(@"device_open", @"寮�闂�") forState:UIControlStateNormal];
}
+
+ self.callOutAlertLabel.text = HDLEZLocallizedString(@"device_callout_alert_message");
+ [self.hangUpButton setTitle:HDLEZLocallizedString(@"device_callout_hang_up") forState:UIControlStateNormal];
+ [self.ignoreButton setTitle:HDLEZLocallizedString(@"device_callout_ignore") forState:UIControlStateNormal];
+ [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answer") forState:UIControlStateNormal];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+ self.isShowAlert = NO;
+ });
}
/*寮�閿�
@@ -536,7 +553,7 @@
//}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if (@available(iOS 16.0, *)) {
- if (_landscape) {
+ if (_landscape && !self.isVideoDoorLock) {
//妯睆
return UIInterfaceOrientationMaskLandscape;
} else {
@@ -551,6 +568,7 @@
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
{
+ if (self.isVideoDoorLock) return;
self.navigationController.navigationBarHidden = NO;
self.toolBar.hidden = NO;
self.largeBackButton.hidden = YES;
@@ -863,8 +881,27 @@
[self largeBack:self.largeBackButton];
return;
}
- NSLog(@"######杩涘叆妯睆锛�");
_landscape = YES;
+ if (self.isVideoDoorLock) {
+ self.navigationController.navigationBarHidden = YES;
+ self.localRecrodContraint.constant = 50;
+ self.toolBar.hidden = NO;
+ self.largeTitleLabel.hidden = NO;
+ self.largeBackButton.hidden = YES;
+ self.bottomView.hidden = YES;
+
+ [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
+ [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
+ [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio]];
+ self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-HDLEZ_APP_STATUS_BAR_HEIGHT];
+ self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:HDLEZ_APP_SCREEN_WIDTH/(HDLEZ_APP_SCREEN_HEIGHT - 37.) constant:0];
+ [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio]];
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [self.scrollView layoutIfNeeded];
+ [self.toolBar layoutIfNeeded];
+ });
+ return;
+ }
if (@available(iOS 16.0, *)) {
if (self.navigationController) {
dispatch_async(dispatch_get_main_queue(), ^{
@@ -892,6 +929,26 @@
{
NSLog(@"######鏀跺洖妯睆锛�");
_landscape = NO;
+ if (self.isVideoDoorLock) {
+ self.navigationController.navigationBarHidden = NO;
+ self.toolBar.hidden = NO;
+ self.largeBackButton.hidden = YES;
+ self.bottomView.hidden = NO;
+ self.largeTitleLabel.hidden = YES;
+ self.localRecrodContraint.constant = 10;
+
+ [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
+ [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
+ [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio]];
+ self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
+ self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:16/9. constant:0];
+ [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio]];
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [self.scrollView layoutIfNeeded];
+ [self.toolBar layoutIfNeeded];
+ });
+ return;
+ }
if (@available(iOS 16.0, *)) {
if (self.navigationController) {
dispatch_async(dispatch_get_main_queue(), ^{
@@ -1292,6 +1349,31 @@
_isPressed = !_isPressed;
}
+- (IBAction)clickCalloutHangupAction:(id)sender {
+ [UIView dd_showMessage:@"鎸傛柇寮�鍙戜腑..."];
+}
+
+- (IBAction)clickCalloutIgnoreAction:(id)sender {
+ [UIView dd_showMessage:@"蹇界暐寮�鍙戜腑..."];
+}
+
+- (IBAction)clickCalloutAnswerAction:(id)sender {
+ [UIView dd_showMessage:@"鎺ュ惉寮�鍙戜腑..."];
+}
+
+
+#pragma mark - Publish Methods
+/// 灞曠ず鍛煎彨寮规
+- (void)showCallOutAlertView {
+ self.videoCallOutView.hidden = NO;
+}
+
+/// 闅愯棌鍛煎彨寮规
+- (void)hiddenCallOutAlertView {
+ self.videoCallOutView.hidden = YES;
+
+}
+
#pragma mark - Private Methods
- (void) checkMicPermissionResult:(void(^)(BOOL enable)) retCb
@@ -1547,6 +1629,16 @@
}
}
+#pragma Setter
+- (void)setIsShowAlert:(BOOL)isShowAlert {
+ _isShowAlert = isShowAlert;
+ if (isShowAlert) {
+ [self showCallOutAlertView];
+ } else {
+ [self hiddenCallOutAlertView];
+ }
+}
+
- (BOOL)prefersHomeIndicatorAutoHidden {
return YES;
}
--
Gitblit v1.8.0