
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
一、在 viewWillAppear 的时候获取到输入框状态,然后设置给 defaultInputType。
// 设置输入框默认样式 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.defaultInputType = [self getInputStatus]; } // 代码中 RCDIMService 为全局单例类 - (RCChatSessionInputBarInputType)getInputStatus { NSString *userInputStatusKey = [NSString stringWithFormat:@"%lu--%@", (unsigned long)self.conversationType, self.targetId]; NSMutableDictionary *userInputStatus = [RCDIMService sharedService].userInputStatus; if (userInputStatus && [userInputStatus.allKeys containsObject:userInputStatusKey]) { KBottomBarStatus inputType = (KBottomBarStatus)[userInputStatus[userInputStatusKey] integerValue]; //输入框记忆功能,如果退出时是语音输入,再次进入默认语音输入 if (inputType == KBottomBarRecordStatus) { return RCChatSessionInputBarInputVoice; } else if (inputType == KBottomBarPluginStatus) { // self.defaultInputType = RCChatSessionInputBarInputExtention; } else if (inputType == KBottomBarBurnStatus) { return RCChatSessionInputBarInputBurnMode; } } return 0; }
二、在 viewWillDisappear 的时候保存输入框状态到一个全局存在的字典中。
// 输入框状态保存 - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self saveInputStatus]; } - (void)saveInputStatus { KBottomBarStatus inputType = self.chatSessionInputBarControl.currentBottomBarStatus; if (self.chatSessionInputBarControl.burnMessageMode) { inputType = KBottomBarBurnStatus; } NSMutableDictionary *userInputStatus = [RCDIMService sharedService].userInputStatus; if (!userInputStatus) { userInputStatus = [NSMutableDictionary new]; } NSString *userInputStatusKey = [NSString stringWithFormat:@"%lu--%@", (unsigned long)self.conversationType, self.targetId]; [userInputStatus setObject:[NSString stringWithFormat:@"%ld", (long)inputType] forKey:userInputStatusKey]; }