From dd29df2e08ac87c878e26513f1b5ae06eae7a6d9 Mon Sep 17 00:00:00 2001 From: Davin <591807572@qq.com> Date: 星期日, 25 六月 2023 19:54:32 +0800 Subject: [PATCH] feature UI调整 --- EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m | 262 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 248 insertions(+), 14 deletions(-) diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m index fdd73f4..155f7c6 100644 --- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m +++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m @@ -24,6 +24,8 @@ #import "MBProgressHUD.h" #import <EZOpenSDKFramework/EZPMPlayPrivateTokenInfo.h> #import "HDLEZAlertInputView.h" +#import "HDLEZOPButton.h" +#import "HDLEZVideoDoorToolView.h" #define MinimumZoomScale 1.0 #define MaximumZoomScale 4.0 @@ -48,6 +50,9 @@ @property (nonatomic, strong) HIKLoadView *loadingView; @property (nonatomic, weak) IBOutlet UIButton *playerPlayButton; @property (nonatomic, weak) IBOutlet UIView *playerView; +@property (weak, nonatomic) IBOutlet NSLayoutConstraint *playerViewWHRatio; +@property (weak, nonatomic) IBOutlet NSLayoutConstraint *playerViewBottomMargin; + @property (nonatomic, weak) IBOutlet UIView *toolBar; @property (nonatomic, weak) IBOutlet UIView *bottomView; @property (nonatomic, weak) IBOutlet UIButton *controlButton; @@ -89,6 +94,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 +102,16 @@ @property (nonatomic, copy) NSString *streamToken; @property (nonatomic, strong) UIView *doorPlayerView;//闂ㄩ攣鎾斁view +@property (nonatomic, assign) CGFloat doorPlayerAspectRatio; // 闂ㄩ攣鎾斁瑙嗗浘瀹介珮姣� + +// 鍛煎彨瑙嗗浘鐩稿叧鎺т欢 +@property (weak, nonatomic) IBOutlet UIView *videoCallOutView; // 鍛煎彨寮规 +@property (weak, nonatomic) IBOutlet UILabel *callOutAlertLabel; // 鎻愮ず璇█ +@property (weak, nonatomic) IBOutlet HDLEZOPButton *hangUpButton; // 鎸傛柇鎸夐挳 +@property (weak, nonatomic) IBOutlet HDLEZOPButton *ignoreButton; // 蹇界暐鎸夐挳 +@property (weak, nonatomic) IBOutlet HDLEZOPButton *answerButton; // 鎺ュ惉鎸夐挳 + +@property (strong, nonatomic) HDLEZVideoDoorToolView *fullSceneToolView; // 鍏ㄥ睆宸ュ叿瑙嗗浘 @end @@ -116,6 +132,9 @@ self.isStartingTalk = NO; self.ptzView.hidden = YES; self.talkView.hidden = YES; + self.videoCallOutView.hidden = YES; + self.doorPlayerAspectRatio = HDLEZ_APP_SCREEN_WIDTH / HDLEZ_APP_SCREEN_HEIGHT; + _landscape = NO; if (!self.deviceInfo) {//濡傛灉娌℃湁浼燿eviceInfo,闇�涓诲姩鑾峰彇 [self getDeviceInfo]; @@ -332,6 +351,8 @@ self.captureButton.enabled = NO; self.localRecordButton.enabled = NO; self.streamPlayBtn.hidden = YES; + self.isShowAlert = YES; + NSLog(@"#####鍒濆鍖栨柟娉曞睍绀�"); if (_url) { @@ -362,6 +383,7 @@ [self.qualityButton setTitle:NSLocalizedString(@"device_quality_low",@"娴佺晠") forState:UIControlStateNormal]; } } +#warning 涓嶆敮鎸佸垏鎹㈡竻鏅板害锛屽叏灞忔椂涔熼渶瑕佷富鎸� if (_cameraInfo.cameraNo == 0 || [self.deviceInfo.deviceType containsString:@"CAS"]) { //涓嶆敮鎸佹竻鏅板害鍒囨崲 self.qualityButton.hidden = YES; } @@ -463,6 +485,24 @@ // [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.hangUpButton.imagePosition = HDLEZOPButtonImagePositionTop; + self.hangUpButton.spacingBetweenImageAndTitle = 12.; + [self.ignoreButton setTitle:HDLEZLocallizedString(@"device_callout_ignore") forState:UIControlStateNormal]; + self.ignoreButton.imagePosition = HDLEZOPButtonImagePositionTop; + self.ignoreButton.spacingBetweenImageAndTitle = 12.; + [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answer") forState:UIControlStateNormal]; + self.answerButton.imagePosition = HDLEZOPButtonImagePositionTop; + self.answerButton.spacingBetweenImageAndTitle = 12.; + + // 闂ㄩ攣鍏ㄥ睆鐘舵�佷笅宸ュ叿鏍� + [self.view addSubview:self.fullSceneToolView]; + __weak EZLivePlayViewController *weakSelf = self; + [self.fullSceneToolView configPlayStatus:YES soundOn:YES videoLevel:1 toolOperation:^(HDLEZVideoFullSceneOperation operationType) { + [weakSelf doorLockFullSceneOperation:operationType]; + }]; } /*寮�閿� @@ -535,7 +575,7 @@ //} - (UIInterfaceOrientationMask)supportedInterfaceOrientations { if (@available(iOS 16.0, *)) { - if (_landscape) { + if (_landscape && !self.isVideoDoorLock) { //妯睆 return UIInterfaceOrientationMaskLandscape; } else { @@ -550,6 +590,7 @@ - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + if (self.isVideoDoorLock) return; self.navigationController.navigationBarHidden = NO; self.toolBar.hidden = NO; self.largeBackButton.hidden = YES; @@ -572,7 +613,7 @@ { self.navigationController.navigationBarHidden = YES; self.localRecrodContraint.constant = 50; - self.toolBar.hidden = YES; +// self.toolBar.hidden = YES; self.largeTitleLabel.hidden = NO; self.largeBackButton.hidden = NO; self.bottomView.hidden = YES; @@ -584,7 +625,7 @@ [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO]; [NSLayoutConstraint deactivateConstraints:@[self.scrollViewWHRatio]]; - self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:tureScreenH/tureScreenW constant:0]; + self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:tureScreenH/(tureScreenW - 37) constant:0]; [NSLayoutConstraint activateConstraints:@[self.scrollViewWHRatio]]; dispatch_async(dispatch_get_main_queue(), ^{ [self.scrollView layoutIfNeeded]; @@ -653,12 +694,13 @@ * @param width 瀹藉害 */ - (void)player:(EZPlayer *)player didReceivedDisplayHeight:(NSInteger)height displayWidth:(NSInteger)width{ -// HDLEZLog(@"鐢婚潰闀匡細%ld锛屽锛�%ld",(long)height,(long)width); + NSLog(@"鐢婚潰闀匡細%ld锛屽锛�%ld",(long)height,(long)width); CGFloat playerVH=self.playerView.frame.size.height; // HDLEZLog(@"楂橈細%ld",(long)playerVH); CGFloat ratio=((CGFloat)width)/((CGFloat)height); -// HDLEZLog(@"姣斾緥锛�%f",ratio); + NSLog(@"姣斾緥锛�%f",ratio); CGFloat playerVW=playerVH*ratio; + self.doorPlayerAspectRatio = ratio; // HDLEZLog(@"瀹斤細%ld",(long)playerVW); [self.doorPlayerView mas_updateConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(_doorPlayerView.mas_height).multipliedBy(ratio); @@ -858,9 +900,41 @@ - (IBAction)large:(id)sender { - NSLog(@"######杩涘叆妯睆锛�"); + self.videoCallOutView.hidden = YES; + if (_landscape == YES) { + [self largeBack:self.largeBackButton]; + return; + } + _landscape = YES; + if (self.isVideoDoorLock) { + self.navigationController.navigationBarHidden = YES; + self.localRecrodContraint.constant = 50; + self.toolBar.hidden = YES; + self.largeTitleLabel.hidden = YES; + self.largeBackButton.hidden = YES; + self.bottomView.hidden = YES; + self.scrollView.backgroundColor = [UIColor blackColor]; + + [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [self.playerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]]; + 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 constant:0]; + + self.playerViewWHRatio = [NSLayoutConstraint constraintWithItem:self.playerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeHeight multiplier:self.doorPlayerAspectRatio constant:0]; + CGFloat playerBottomMargin = HDLEZ_APP_SCREEN_HEIGHT - (HDLEZ_APP_SCREEN_WIDTH / self.doorPlayerAspectRatio); + NSLog(@"########鎾斁闂撮殭锛�%lf", playerBottomMargin); + self.playerViewBottomMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:playerBottomMargin]; + [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]]; + dispatch_async(dispatch_get_main_queue(), ^{ + [self.scrollView layoutIfNeeded]; + [self.playerView layoutIfNeeded]; + }); + self.fullSceneToolView.hidden = NO; + [self.view bringSubviewToFront:self.fullSceneToolView]; + return; + } if (@available(iOS 16.0, *)) { - _landscape = YES; if (self.navigationController) { dispatch_async(dispatch_get_main_queue(), ^{ [self.navigationController setNeedsUpdateOfSupportedInterfaceOrientations]; @@ -885,9 +959,34 @@ - (IBAction)largeBack:(id)sender { - 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.videoCallOutView.hidden = !self.isShowAlert; + self.scrollView.backgroundColor = [UIColor clearColor]; + + [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [self.playerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]]; + 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]; + + self.playerViewWHRatio = [NSLayoutConstraint constraintWithItem:self.playerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeHeight multiplier:16/9. constant:0]; + self.playerViewBottomMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; + [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]]; + dispatch_async(dispatch_get_main_queue(), ^{ + [self.scrollView layoutIfNeeded]; + [self.playerView layoutIfNeeded]; + }); + self.fullSceneToolView.hidden = YES; + return; + } if (@available(iOS 16.0, *)) { - _landscape = NO; if (self.navigationController) { dispatch_async(dispatch_get_main_queue(), ^{ [self.navigationController setNeedsUpdateOfSupportedInterfaceOrientations]; @@ -973,6 +1072,7 @@ [self.voiceButton setImage:[UIImage imageNamed:@"preview_voice_btn"] forState:UIControlStateNormal]; } _isOpenSound = !_isOpenSound; + [self.fullSceneToolView soundOn:_isOpenSound]; } - (IBAction)playButtonClicked:(id)sender @@ -1001,6 +1101,11 @@ [self.loadingView startSquareClcokwiseAnimation]; } _isPlaying = !_isPlaying; + [self.fullSceneToolView playStatus:_isPlaying]; +} + +- (SEL)extracted { + return @selector(hideQualityView); } - (IBAction)qualityButtonClicked:(id)sender @@ -1013,7 +1118,7 @@ { self.qualityView.hidden = NO; //鍋滅暀5s浠ュ悗闅愯棌瑙嗛璐ㄩ噺View. - [self performSelector:@selector(hideQualityView) withObject:nil afterDelay:5.0f]; + [self performSelector:[self extracted] withObject:nil afterDelay:5.0f]; } self.qualityButton.selected = !self.qualityButton.selected; } @@ -1066,14 +1171,17 @@ if (sender == weakSelf.highButton) { [weakSelf.qualityButton setTitle:NSLocalizedString(@"device_quality_high", @"楂樻竻") forState:UIControlStateNormal]; + [self.fullSceneToolView videoLevel:2]; } else if (sender == weakSelf.middleButton) { [weakSelf.qualityButton setTitle:NSLocalizedString(@"device_quality_median", @"鍧囪 ") forState:UIControlStateNormal]; + [self.fullSceneToolView videoLevel:1]; } else { [weakSelf.qualityButton setTitle:NSLocalizedString(@"device_quality_low", @"娴佺晠") forState:UIControlStateNormal]; + [self.fullSceneToolView videoLevel:0]; } if (result) { @@ -1287,6 +1395,38 @@ _isPressed = !_isPressed; } +- (IBAction)clickCalloutHangupAction:(id)sender { + [UIView dd_showMessage:@"鎸傛柇寮�鍙戜腑..."]; + self.isShowAlert = NO; +} + +- (IBAction)clickCalloutIgnoreAction:(id)sender { + [UIView dd_showMessage:@"蹇界暐寮�鍙戜腑..."]; + self.isShowAlert = NO; +} + +- (IBAction)clickCalloutAnswerAction:(id)sender { + [UIView dd_showMessage:@"鎺ュ惉寮�鍙戜腑..."]; + self.isShowAlert = NO; + [self talkButtonClicked:self.talkButton]; +} + + +#pragma mark - Publish Methods +/// 灞曠ず鍛煎彨寮规 +- (void)showCallOutAlertView { + self.videoCallOutView.hidden = NO; + [UIView dd_showMessage:@"灞曠ず鍛煎彨寮规"]; + NSLog(@"灞曠ず鍛煎彨寮规"); +} + +/// 闅愯棌鍛煎彨寮规 +- (void)hiddenCallOutAlertView { + self.videoCallOutView.hidden = YES; + [UIView dd_showMessage:@"闅愯棌鍛煎彨寮规"]; + NSLog(@"闅愯棌鍛煎彨寮规"); +} + #pragma mark - Private Methods - (void) checkMicPermissionResult:(void(^)(BOOL enable)) retCb @@ -1407,17 +1547,41 @@ } CGFloat averageWidth = [UIScreen mainScreen].bounds.size.width/5.0; UIImageView *lineImageView1 = [UIView dd_instanceVerticalLine:20 color:[UIColor grayColor]]; - lineImageView1.frame = CGRectMake(averageWidth, 7, lineImageView1.frame.size.width, lineImageView1.frame.size.height); +// lineImageView1.frame = CGRectMake(averageWidth, 7, lineImageView1.frame.size.width, lineImageView1.frame.size.height); [self.toolBar addSubview:lineImageView1]; + [lineImageView1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.playButton.mas_right); + make.centerY.mas_equalTo(self.playButton.mas_centerY); + make.width.mas_equalTo(lineImageView1.frame.size.width); + make.height.mas_equalTo(lineImageView1.frame.size.height); + }]; UIImageView *lineImageView2 = [UIView dd_instanceVerticalLine:20 color:[UIColor grayColor]]; - lineImageView2.frame = CGRectMake(averageWidth * 2, 7, lineImageView2.frame.size.width, lineImageView2.frame.size.height); +// lineImageView2.frame = CGRectMake(averageWidth * 2, 7, lineImageView2.frame.size.width, lineImageView2.frame.size.height); [self.toolBar addSubview:lineImageView2]; + [lineImageView2 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.voiceButton.mas_right); + make.centerY.mas_equalTo(self.voiceButton.mas_centerY); + make.width.mas_equalTo(lineImageView2.frame.size.width); + make.height.mas_equalTo(lineImageView2.frame.size.height); + }]; UIImageView *lineImageView3 = [UIView dd_instanceVerticalLine:20 color:[UIColor grayColor]]; - lineImageView3.frame = CGRectMake(averageWidth * 3, 7, lineImageView3.frame.size.width, lineImageView3.frame.size.height); +// lineImageView3.frame = CGRectMake(averageWidth * 3, 7, lineImageView3.frame.size.width, lineImageView3.frame.size.height); [self.toolBar addSubview:lineImageView3]; + [lineImageView3 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.qualityButton.mas_right); + make.centerY.mas_equalTo(self.qualityButton.mas_centerY); + make.width.mas_equalTo(lineImageView3.frame.size.width); + make.height.mas_equalTo(lineImageView3.frame.size.height); + }]; UIImageView *lineImageView4 = [UIView dd_instanceVerticalLine:20 color:[UIColor grayColor]]; - lineImageView4.frame = CGRectMake(averageWidth * 4, 7, lineImageView4.frame.size.width, lineImageView4.frame.size.height); +// lineImageView4.frame = CGRectMake(averageWidth * 4, 7, lineImageView4.frame.size.width, lineImageView4.frame.size.height); [self.toolBar addSubview:lineImageView4]; + [lineImageView4 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.emptyButton.mas_right); + make.centerY.mas_equalTo(self.emptyButton.mas_centerY); + make.width.mas_equalTo(lineImageView4.frame.size.width); + make.height.mas_equalTo(lineImageView4.frame.size.height); + }]; } @@ -1518,5 +1682,75 @@ } } +#pragma mark - PrivateMethod (闂ㄩ攣鍏ㄥ睆鏃剁殑涓�绯诲垪鎿嶄綔) +- (void)doorLockFullSceneOperation:(HDLEZVideoFullSceneOperation)operation { + switch (operation) { + case HDLEZVideoFullSceneOperationOfHangUp: { // 鎸傛柇 + [self hiddenCallOutAlertView]; + } + break; + case HDLEZVideoFullSceneOperationOfPlay: { // 鎾斁 + [self playButtonClicked:self.playButton]; + } + break; + case HDLEZVideoFullSceneOperationOfPause: { // 鏆傚仠 + [self playButtonClicked:self.playButton]; + } + break; + case HDLEZVideoFullSceneOperationOfSound: { // 寮�鍚煶閲� + [_player openSound]; + NSLog(@"#######寮�鍚煶閲�"); + } + break; + case HDLEZVideoFullSceneOperationOfSoundOff: { // 闈欓煶 + [_player closeSound]; + NSLog(@"#######闈欓煶"); + } + break; + case HDLEZVideoFullSceneOperationOfSmooth: { // 娴佺晠 + [self qualitySelectedClicked:self.lowButton]; + } + break; + case HDLEZVideoFullSceneOperationOfBalance: { // 鍧囪 + [self qualitySelectedClicked:self.middleButton]; + } + break; + case HDLEZVideoFullSceneOperationOfHDFull: { // 楂樻竻 + [self qualitySelectedClicked:self.highButton]; + } + break; + case HDLEZVideoFullSceneOperationOfExitFull: { // 閫�鍑哄叏灞� + [self largeBack:self.largeButton]; + } + break; + default: + break; + } +} + +#pragma Setter +- (void)setIsShowAlert:(BOOL)isShowAlert { + _isShowAlert = isShowAlert; + if (isShowAlert) { + NSLog(@"#####set鏂规硶灞曠ず"); + [self showCallOutAlertView]; + } else { + NSLog(@"#####set鏂规硶闅愯棌"); + [self hiddenCallOutAlertView]; + } +} + +#pragma mark - Getter +- (HDLEZVideoDoorToolView *)fullSceneToolView { + if (!_fullSceneToolView) { + _fullSceneToolView = [[HDLEZVideoDoorToolView alloc] initWithFrame:CGRectMake(0, HDLEZ_APP_SCREEN_HEIGHT - 280, HDLEZ_APP_SCREEN_WIDTH, 280)]; + _fullSceneToolView.hidden = YES; + } + return _fullSceneToolView; +} + +- (BOOL)prefersHomeIndicatorAutoHidden { + return YES; +} @end -- Gitblit v1.8.0