@implementation ViewControllerFactory
#pragma mark ====== 适配iphone5公用的方法 ======
+(id)createViewControllerByControllerName:(NSString*) controllerName {
if (controllerName == nil || [controllerName isEqualToString:@""]) {
return nil;
}
NSString *controllerXibName = nil;
if (isIPhone5) {
controllerXibName = [NSString stringWithFormat:@"%@_iphone5",controllerName];
}else {
controllerXibName = controllerName;
}
Class class = NSClassFromString(controllerName);
return [[[class alloc] initWithNibName:controllerXibName bundle:nil] autorelease];
}
#pragma mark ====== 导航栏公用的方法 ======
+(void)initNavigationbar:(UIViewController *)tempViewController centerName:(NSString *)centerName rightButtonName:(NSString *)rightButtonName leftImage:(NSString *)leftImage rightImage:(NSString *)rightImage{
//自定义返回按钮。
UIButton *tempButton = [UIButton buttonWithType:UIButtonTypeCustom];
[tempButton setBackgroundImage:[UIImage imageNamed:leftImage] forState:UIControlStateNormal];
tempButton.frame=CGRectMake(0, 0, 50, 30);
[tempButton addTarget:tempViewController action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]initWithCustomView:tempButton];
tempViewController.navigationItem.leftBarButtonItem=leftButton;
[leftButton release];
//解除绑定按钮。
UIButton *tempButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
[tempButton1 setTitle:rightButtonName forState:UIControlStateNormal];
[tempButton1 setBackgroundImage:[UIImage imageNamed:rightImage] forState:UIControlStateNormal];
tempButton1.frame=CGRectMake(0, 0, 80, 30);
[tempButton1 addTarget:tempViewController action:@selector(rightAction:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]initWithCustomView:tempButton1];
tempViewController.navigationItem.rightBarButtonItem=rightButton;
[rightButton release];
//显示导航栏。
[UIView animateWithDuration:0.4 animations:^{
tempViewController.navigationController.navigationBarHidden = NO;
tempViewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
tempViewController.navigationItem.title=centerName;
}];
}
- 浏览: 1366337 次
- 性别:
- 来自: 开封
最新评论
-
用户6006038975:
macd2666 写道录制出来的语音声音好轻啊。你好,这个编译 ...
ios音频录制和播放,文件很小。压缩效果不错 -
用户6006038975:
macd2666 写道录制出来的语音声音好轻啊。
ios音频录制和播放,文件很小。压缩效果不错 -
用户6006038975:
linker command failed with exit ...
ios音频录制和播放,文件很小。压缩效果不错 -
mapboo:
http://www.codertopic.com/?page ...
史上最全的iOS面试题及答案 -
macd2666:
录制出来的语音声音好轻啊。
ios音频录制和播放,文件很小。压缩效果不错
相关推荐
总的来说,"ios mvp架构封装导航栏与tabbar封装"是一个旨在提升iOS应用开发质量和效率的实践,它结合了MVP架构的优势和UI组件的封装技巧,为开发者提供了更强大的工具箱。通过学习和应用这些封装技术,开发者能够更...
同时,为了提高可维护性和复用性,可以将上导航栏和下导航栏的逻辑封装到单独的组件或库中。总之,理解和熟练运用上导航栏和下导航栏是Android应用开发中的基础技能,它们对于构建高效、直观的用户界面至关重要。
vue-secondMenu-test Vue + ElementUI 后台管理...项目实现了登录功能,一二级菜单联动选择展示不同的主体内容部分,封装了 axios 请求库,还配置了管理员和普通用户的权限区分。 运行项目 npm install npm run dev
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
- 可以封装常用的组件如`toast`、`dialog`和底部导航栏,以便在多个页面中复用。 **7. 示例页面** - 提供了列表页和表单页的示例,帮助开发者了解如何在项目中创建和组织页面。 通过以上配置,开发者可以快速地...
Bootstrap 是一个广泛使用的前端开发框架,它为创建响应式、移动优先的网页提供了一系列样式、组件和 JavaScript 插件。`bootstrap-app-test` 项目似乎是一个针对使用 Bootstrap 的应用程序进行测试的工具或库,旨在...
例如,如果你正在制作一个网络请求库,那么你可能需要包含网络请求的Java类和配置文件。 3. 配置build.gradle 打开`build.gradle(Module: SdkTest)`文件,配置Gradle构建脚本。我们需要确保输出的是jar包,而不是...
-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...
"ibm-toolbar" 是一个基于Web Components技术的组件,它被设计用来在应用程序的顶部创建一个水平工具栏。这个工具栏通常包含多个功能模块,如标签、导航链接、搜索框以及各种操作按钮,以提供用户友好的交互界面。在...
在Web开发中,所谓的“QQ菜单”可能是指一种类似于社交网络中常见的导航栏设计风格。这种菜单通常具有如下特点: - **样式友好**:通常采用图标和文字结合的方式,样式美观大方。 - **交互性**:鼠标悬停时可能会有...
底部导航栏自定义BottomTabBar实现底部导航栏,支持与ViewPager联动,实现页面切换。 异步HTTP请求使用AsyncHttpClient库进行异步HTTP请求,获取新闻数据。 JSON数据处理使用org.json库解析服务器返回的JSON数据...
-修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。 -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则...
1. **页面布局**:用于定义页面的结构和样式,如导航栏、页脚等。 2. **控制流操作**:用于实现循环、条件判断等功能。 3. **数据操作**:用于对数据库查询结果进行处理,如分页显示、排序等。 4. **表单处理**:...
总的来说,XpPanel资源管理器左侧树形可伸缩控件是一个基于VC6.0和MFC的组件,它提供了一种直观的方式来展示层次结构的数据,并且在Windows XP系统下经过了调试和验证,具有良好的用户体验和稳定性。对于想要创建...
这个组件特别适用于那些需要在滚动时动态改变标题样式的应用场景,比如导航栏或者顶部信息区域。标题在滚动过程中可以从展开状态平滑过渡到压缩状态,为用户带来更丰富的交互体验。 在HTML5中,Web Components是...
【图书管理系统】是一个基于Spring、Spring MVC和Hibernate框架构建的应用,结合了Bootstrap前端框架,用于实现高效、用户友好的图书信息管理和查询。SSH(Spring、Struts、Hibernate)是Java Web开发中的经典...
Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...
3. **Struts**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,用于简化Java Web应用程序的开发。在这个项目中,Struts将作为控制器,协调JSP和JavaBeans之间的交互,管理请求和响应流程。 ...
3. JavaBean:可能用于封装数据和业务逻辑,提供给JSP页面使用。 4. 数据库:存储用户信息、课程数据和交互记录,可能是SQL数据库如MySQL。 5. HTML/CSS/JavaScript:构建用户界面,提供交互体验。 三、核心功能 1....