房间vc添加启动方法

This commit is contained in:
zu
2021-10-29 18:17:27 +08:00
parent 84f944b6da
commit dd71c36e72
4 changed files with 27 additions and 17 deletions

View File

@@ -22,7 +22,6 @@
- (void) pushNativeRoute:(NSString *) pageName arguments:(NSDictionary *) arguments {
BOOL animated = arguments[@"animated"] ? [arguments[@"animated"] boolValue] : YES;
BOOL present = arguments[@"present"] ? [arguments[@"present"] boolValue] : NO;
BOOL isRoomVC = [pageName isEqualToString:YYFlutterPushNavitePageChatRoom];
UIViewController *controller;
controller = [self getNaviteClassNameWithPageName:pageName arguments:arguments];
UIViewController * currentVC = [[FlutterBoost instance] currentViewController];
@@ -31,11 +30,13 @@
}
if (controller) {
if(present || isRoomVC){
if(present){
[self.navigationController presentViewController:controller animated:animated completion:nil];
} else {
[self.navigationController pushViewController:controller animated:animated];
}
} else if ([pageName isEqualToString:YYFlutterPushNavitePageChatRoom]) {
[XPRoomViewController openRoom:arguments[@"chatRoomID"] viewController:self.navigationController];
} else {
NSLog(@"输入的类名不存在");
}
@@ -73,13 +74,6 @@
- (UIViewController *)getNaviteClassNameWithPageName:(NSString *)pageName arguments:(NSDictionary *)arguments {
if ([pageName isEqualToString:YYFlutterPushNavitePageCharge]) {
return [[NSClassFromString(@"XPMineRechargeViewController") alloc] init];
} else if ([pageName isEqualToString:YYFlutterPushNavitePageChatRoom]) {
XPRoomViewController* roomVC = [[XPRoomViewController alloc]init];
roomVC.roomUid = arguments[@"chatRoomID"];
roomVC.roomUid = @"1004699";
BaseNavigationController * baseNav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
baseNav.modalPresentationStyle = UIModalPresentationFullScreen;
return baseNav;
}
// if([pageName isEqualToString:YYFlutterPushNavitePageBindPaymentPwd]){
// return [[NSClassFromString(@"TTPayPwdViewController") alloc] init];;

View File

@@ -130,11 +130,8 @@
break;
case XPMineItemType_Account:
{
XPRoomViewController * roomVC = [[XPRoomViewController alloc] init];
roomVC.roomUid = [NSString stringWithFormat:@"%d", 1004587];
BaseNavigationController * baseNav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
baseNav.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:baseNav animated:YES completion:nil];
NSString* roomUid = [NSString stringWithFormat:@"%d", 1004587];
[XPRoomViewController openRoom:roomUid viewController:self];
return;
XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
[self.navigationController pushViewController:rechargeVC animated:YES];

View File

@@ -11,9 +11,6 @@ NS_ASSUME_NONNULL_BEGIN
@class XPRoomBackContainerView,RoomHeaderView,XPRoomMessageContainerView,XPRoomMenuContainerView,XPRoomActivityContainerView, XPRoomPositionContainView, RoomInfoModel, UserInfoModel, SocialStageView;
@interface XPRoomViewController : MvpViewController
///房间的Uid
@property (nonatomic,copy) NSString * roomUid;
///背景
@property (nonatomic,strong, readonly) XPRoomBackContainerView *backContainerView;
///房间信息
@@ -31,6 +28,17 @@ NS_ASSUME_NONNULL_BEGIN
///用户信息
@property (nonatomic,strong, readonly) UserInfoModel *userInfo;
/** XPRoomViewController 不允许外部 init ,请通过该方法启动房间。
* @params roomUid 房主uid
* @params viewController 启动方
*/
+ (BOOL)openRoom:(NSString*)roomUid viewController:(UIViewController*)viewController;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
- (id)copy NS_UNAVAILABLE;
- (id)mutableCopy NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END

View File

@@ -16,6 +16,7 @@
#import "RoomInfoModel.h"
#import "UserInfoModel.h"
///View
#import "BaseNavigationController.h"
#import "XPRoomActivityContainerView.h"
#import "XPRoomBackContainerView.h"
#import "XPRoomMenuContainerView.h"
@@ -46,6 +47,8 @@
///
@property (nonatomic,strong) XPRoomActivityContainerView *activityContainerView;
//Uid
@property (nonatomic,copy) NSString * roomUid;
///
@property (nonatomic,strong) UserInfoModel *userInfo;
///
@@ -54,6 +57,14 @@
@implementation XPRoomViewController
+ (BOOL)openRoom:(NSString *)roomUid viewController:(UIViewController *)viewController {
XPRoomViewController * roomVC = [[self alloc] init];
roomVC.roomUid = roomUid;
BaseNavigationController * baseNav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
baseNav.modalPresentationStyle = UIModalPresentationFullScreen;
[viewController presentViewController:baseNav animated:YES completion:nil];
return YES;
}
- (void)dealloc {
#warning to dox -