//控制器相关 /* vcName: 页面名称 param:页面所需参数(如原来的页面需要传递小区id,工单号等等,字典形式传过去,key 与页面所需参数名称一致即可。 */ -(void)pushViewController:(NSString *)vcName param:(NSDictionary *)param; /* 将APP 当前展示的页面pop */ -(void)popViewController; /* vcName: 页面名称 param:页面所需参数(如原来的页面需要传递小区id,工单号等等,字典形式传过去,key 与页面所需参数名称一致即可。 */ -(void)presentViewController:(NSString *)vcName param:(NSDictionary *)param finish:(WXModuleCallback)callback; /* 将APP 当前展示的页面dismiss */ -(void)dismissViewController:(WXModuleCallback)callback;
-(void)pushViewController:(NSString *)vcName param:(NSDictionary *)param{
//获取类
Class vcClass = NSClassFromString(vcName);
if (vcClass == nil) {
return;
}
BaseViewController *vc = [[vcClass alloc] init];
vc.hidesBottomBarWhenPushed = YES;
//属性数量
unsigned int count = 0;
//获取属性列表
objc_property_t *plist = class_copyPropertyList(vcClass, &count);
for (int i = 0; i<count; i++) {
//取出属性
objc_property_t property = plist[i];
//取出属性名称
NSString *propertyName = [NSString stringWithUTF8String:property_getName(property)];
//以这个属性名称作为key ,查看传入的字典里是否有这个属性的value
if (param[propertyName]) {
[vc setValue:param[propertyName] forKey:propertyName];
}
}
//释放
free(plist);
//获取当前页面控制器
/*
获取当前页面控制器是根据响应链获取的。
*/
UIViewController *currentVC = [Utils getCurrentVC];
if ([currentVC isKindOfClass:[UINavigationController class]]) {
[(UINavigationController *)currentVC pushViewController:vc animated:YES];
}else{
[currentVC.navigationController pushViewController:vc animated:YES];
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有