diff --git a/xplan-ios/Main/Mine/View/Friend/XPRoomHalfMessageView.m b/xplan-ios/Main/Mine/View/Friend/XPRoomHalfMessageView.m index f15d0375..981f9916 100644 --- a/xplan-ios/Main/Mine/View/Friend/XPRoomHalfMessageView.m +++ b/xplan-ios/Main/Mine/View/Friend/XPRoomHalfMessageView.m @@ -28,6 +28,7 @@ - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { + self.tag = 888; [self initSubViews]; } return self; @@ -45,6 +46,7 @@ self.messageWindow.rootViewController = nil; self.messageWindow.windowLevel = -1; self.messageWindow = nil; + [[NSNotificationCenter defaultCenter] postNotificationName:@"roomMessageTabelViewStopScroll" object:nil]; } #pragma mark - Getters And Setters @@ -59,6 +61,7 @@ _dismissView.backgroundColor = [UIColor clearColor]; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissViewTap)]; [_dismissView addGestureRecognizer:tap]; + _dismissView.tag = 8888; } return _dismissView; } diff --git a/xplan-ios/Main/Room/View/AnchorCycleView/AnchorRoomScrollView.m b/xplan-ios/Main/Room/View/AnchorCycleView/AnchorRoomScrollView.m index 63017ab0..190091b9 100644 --- a/xplan-ios/Main/Room/View/AnchorCycleView/AnchorRoomScrollView.m +++ b/xplan-ios/Main/Room/View/AnchorCycleView/AnchorRoomScrollView.m @@ -149,8 +149,8 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { - ///666是外部的公屏消息列表 - if (otherGestureRecognizer.view.tag == 666) { + ///666是外部的公屏消息列表 8888房间半屏弹框顶部消失的view + if (otherGestureRecognizer.view.tag == 666 || otherGestureRecognizer.view.tag == 8888) { self.scrollEnabled = NO; return NO; } diff --git a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.h b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.h index ecefbe1d..4c50dbb6 100644 --- a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.h +++ b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.h @@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN @interface XPRoomMenuContainerView : UIView - (instancetype)initWithDelegate:(id)delegate; + +- (void)menuResignFirstResponder; @end NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.m b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.m index 411ce523..dbc48c40 100644 --- a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.m +++ b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomMenuContainerView.m @@ -56,6 +56,8 @@ @property (nonatomic,strong) UIButton *arrangeMicButton; ///贵族 @property (nonatomic,strong) UIButton *nobleButton; +///输入框 +@property (nonatomic,strong) XPRoomSendTextView *inputTextView; @property (nonatomic,strong) XPRoomMessageBubbleView *miniMessageView; ///代理 @property (nonatomic,weak) id delegate; @@ -74,6 +76,10 @@ } return self; } +- (void)menuResignFirstResponder { + [self.inputTextView.editTextFiled resignFirstResponder]; +} + #pragma mark - Response - (void)menuButtonAction:(UIButton *)sender { XPRoomMenuItemType type = sender.tag; @@ -84,7 +90,7 @@ [XCHUDTool showErrorWithMessage:@"房间公屏已关闭"]; return; } - [XPRoomSendTextView showTextView:[UIApplication sharedApplication].delegate.window delegate:self.delegate atUid:nil atNick:nil]; + self.inputTextView = [XPRoomSendTextView showTextView:[UIApplication sharedApplication].delegate.window delegate:self.delegate atUid:nil atNick:nil]; } break; diff --git a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.h b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.h index d839bd4a..2b18a4ce 100644 --- a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.h +++ b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.h @@ -11,10 +11,11 @@ NS_ASSUME_NONNULL_BEGIN @interface XPRoomSendTextView : UIView -- (instancetype)initWithDelegate:(id)delegate; - +- (instancetype) :(id)delegate; +///输入框 +@property (nonatomic, strong, readonly) UITextField *editTextFiled; ///发小消息的弹框 -+ (void)showTextView:(UIView *)view delegate:(id)delegate atUid:(NSString *)uid atNick:(NSString *)nick; ++ (instancetype)showTextView:(UIView *)view delegate:(id)delegate atUid:(NSString *)uid atNick:(NSString *)nick; @end diff --git a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.m b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.m index 6bbfd7ee..d2880f2a 100644 --- a/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.m +++ b/xplan-ios/Main/Room/View/MenuContainerView/XPRoomSendTextView.m @@ -196,7 +196,7 @@ } #pragma mark - Public Method -+ (void)showTextView:(UIView *)view delegate:(id)delegate atUid:(NSString *)uid atNick:(NSString *)nick { ++ (instancetype)showTextView:(UIView *)view delegate:(id)delegate atUid:(NSString *)uid atNick:(NSString *)nick { __block XPRoomSendTextView * textView; [view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj isKindOfClass:[XPRoomSendTextView class]]) { @@ -209,6 +209,7 @@ [view addSubview:textView]; } textView.hidden = NO; + [textView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.bottom.mas_equalTo(view); @@ -222,6 +223,7 @@ textView.inputMessage = textView.editTextFiled.text; textView.sendButton.enabled = YES; } + return textView; } #pragma mark - Private Method diff --git a/xplan-ios/Main/Room/View/XPRoomViewController.m b/xplan-ios/Main/Room/View/XPRoomViewController.m index 9a7ae856..61895b2b 100644 --- a/xplan-ios/Main/Room/View/XPRoomViewController.m +++ b/xplan-ios/Main/Room/View/XPRoomViewController.m @@ -220,7 +220,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { - [self.view endEditing:YES]; + [self.menuContainerView menuResignFirstResponder]; } - (void)viewWillAppear:(BOOL)animated { @@ -1229,6 +1229,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 } - (void)exitRoom { + [self.menuContainerView menuResignFirstResponder]; if (self.roomInfo.roomModeType == RoomModeType_Open_Micro_Mode || self.roomInfo.roomModeType == RoomModeType_Open_Blind) { NSString * roomUid = [NSString stringWithFormat:@"%ld", self.roomInfo.uid]; NSString * uid = [AccountInfoStorage instance].getUid; @@ -1339,6 +1340,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 } - (void)miniRoom { + [self.menuContainerView menuResignFirstResponder]; if(self.roomInfo.type == RoomType_MiniGame) { if ([self.littleGameView isInSudGame]) { TTAlertConfig *config = [[TTAlertConfig alloc] init];