一步一步画罗丽公主

Abigayle 坐标: 59053 目录:/yi/

关于进一步规范“支部主题日”活动方案

以下是的一些我们精选的关于进一步规范“支部主题日”活动方案马上就要2018年春节了,2017年可以说是真正的过去了,这一年的工作情况怎么样,对自己的工作学些是不是满意,还有哪些值得反思总结的地方,有哪些需要改善的地方,今天小编就整理了一些关于**的范文,大家可以参考一下!01各支部:为规范和创新“支部主题日”活动,更好地发挥基层组织战斗堡垒作用和员先锋模范作用,根据县委组织部《关于进一步深化“支部主题日”活动的通知》( x组发〔2018〕x号)文件精神,现就进一步规范“支部主题日”活动通知如下:


一、基本方式
(一)活动时间“支部主题日”活动每月开展一次,每月10日集中开展(七月安排在7月1日),时间不少于半天。遇节假日、周末可以提前或延期(一般不超过一周)。除重大活动和紧急任务外,“支部主题日”活动应当按时开展,没有开展的,一周内应当完成。
(二)参加对象全体员(含预备员)必须参加“支部主题日”活动。支部可根据活动主题,吸收员发展对象、入积极分子、村级后备干部、团员青年、致富带头人、群众代表等参加。年老体弱、患有重大疾病、行动不便的员和长期外出的流动员,经本人申请,所在支部同意,可以不参加,但支部每月要通过电话、QQ、微信、等方式向其通报活动情况。员领导干部要以普通员身份参加所在支部活动。


(三)遵循组织程序“支部主题日”活动必须保持政治性、严肃性,确保主题不偏、内容不虚、程序不减、次数不少,杜绝化、庸俗化。“支部主题日”活动一般由支部主持,也可委托支部副、支部委员主持。各支部要健全请假、补学制度,严格执行制度规定。参加的正式员必须佩戴徽。主题日活动必须按照以下基本程序开展:①召开支委会确定活动主题和计划;②报乡委审定;③通过适当形式公开公示;④召集会议;⑤员签到;⑥通报到会情况和活动内容;⑦组织开展活动;⑧讨论发言;⑨总结提升。


(四)创新组织形式“支部主题日”活动以支部为单位组织,各支部可结合“下基层”“扶贫帮困”“堡垒共建、先锋同行”等活动,跨村联合开展。
二、主要内容“支部主题日”活动要以“三会一课”等的组织生活为基本内容,以落实员教育管理制度为依托,突出思想政治建设和性锻炼,围绕建强组织、建好队伍、提升组织力来开展,结合重点工作、本支部工作实际来组织。坚持深化以“温誓词、诵章、学讲话、讲课、缴费”为主要内容的“5+X”支部主题日,也可以采取其他创新方式开展。

重温入誓词。每次指定一名员领誓,全体员宣誓,回顾入宣誓时的庄严承诺和坚定决心,提醒员时刻牢记入誓言。集体诵读章。每次指定一名员领诵新修订章部分章节,全体员齐诵,全年至少要通读一遍,引导员尊崇章、遵守章、维护章。集中学习研讨。重点围绕的十九大精神、纪规、新时代中国特色社会主义思想、习**总系列讲话及中央、自治区、市、县重要会议精神等内容,采取专题辅导、互动交流、学习讨论等方式,全面落实全面从严治要求,推进“两学一做”学习教育常态化制度化,切实在学懂弄通做实上下功夫。

讲课。每季度至少安排一次课。创新课形式,注重运用身边事例,强化互动交流,积极开展“田间课”“网络课”“微课”等。乡委班子成员到所包村讲课不少于一次,村组织每年讲课不少于一次。实行员领导干部讲课报备制度,讲稿要在讲课后一周内交所在支部和乡委备案。同时,要主动联系下基层单位、校、宣讲团开展经常性课。

交纳费。每名员按规定交纳当月费,让交纳费成为员的一种自觉习惯。每季度要公开员费交纳情况。开展志愿服务活动。结合全乡重点工作,“五一”劳动节、“重阳节”、元旦、春节等重大节点,组织员开展爱心捐赠、扶贫帮困、走访慰问等活动,帮扶困难群体、解决实际困难,践行服务宗旨。开展特色活动。可自选主题开展“争当员先锋岗”、员知识竞赛、辩论赛、演讲比赛等竞赛活动,以赛促学,提升员综合素质。开展“为员过政治生日”“讲身边好员故事” “诗歌朗诵”“我为支部献一策”“革命歌曲大家唱”“员读书日”“我与流动员连线”等活动,增强员的凝聚力和荣誉感。

关于进一步规范“支部主题日”活动方案

关于进一步规范“支部主题日”活动方案
开展远程教育。充分运用共产员网、全国员干部现代远程教育网、宁夏建网远程教育平台“每月推荐”栏目等教学资源开展员教育。开展示范教育。组织员参观红色教育基地、观看纪录片,学习革命先辈英雄事迹,学习共产员先进模范,学习身边的先进典型人物事迹。组织观看廉政电教片、参观廉政教育基地等,教育员干部廉洁勤政、严于律己。

落实组织生活。将“三会一课”、组织生活会、民主评议员等内组织生活制度与“支部主题日”深度融合。“三会一课”尽量放在“支部主题日”当天进行,结合组织生活会,对照“四个合格”标准,按照个人自评、员互评、民主测评、组织评定等程序,对员进行民主评议。在主题日当天,每名员要按规定缴纳当月费。

推进务公开。利用“支部主题日”活动,对支部建设、发展员、评先评优、代表推荐、员群众关心的的重大事项进行民主讨论研究,按照民主集中制原则进行决策。落实务公开,利用“支部主题日”活动,报告乡委工作部署、基层组织重点工作进展、费收缴管理使用等情况,通报村务、财务和重要事务情况等,保障员群众的知情权,自觉接受员督。


三、工作要求
(一)精心组织实施。各支部要切实履行“第一责任人”职责,负责牵头抓总,指导开展“支部主题日”活动。各支部要结合实际,安排好活动主题和活动内容,活动开始前,要提前告知员活动主题和活动内容(见附件)。每月月初将本支部“支部主题日”活动计划上报(见附件)乡建室。
(二)规范活动记实。各支部要建立支部主题日活动台账,落实专人负责,员参加活动签到册、活动图片等记录要翔实,活动纪实要按照议程安排,反映过程性痕迹,记录详实、层次分明、内容贴切,做到有讨论、有共识、有主题,每月活动结束后2日内上报活动纪实表(见附件)至乡建室。


(三)严明纪律要求。要突出“支部主题日”活动的严肃性、规范性。开展活动现场应悬挂旗、员要佩戴徽,营造庄重、严肃的现场氛围,强化仪式感,增强庄重感,提升自豪感。要将“支部主题日”与落实“三会一课”、组织生活会等制度紧密结合起来,防止活动简单化、化、庸俗化。
(四)严格督导考评。各支部要将员参加支部主题日活动情况作为员评先评优和民主评议员的重要依据,对无故不参加活动的员要进行谈话提醒,仍不整改、长期无故缺席的,要视情进行相应处置。乡建室要加大对各支部开展活动的督查力度,做好日常考核记载,对没有按要求开展活动的支部进行通报批评,支部要及时整改,同时将督查情况纳入年度建工作考核中。


(五)强化宣传引导。各支部要充分利用宣传栏、微信等宣传媒体展示本支部“支部主题日”活动开展情况,营造浓厚活动氛围。及时总结推广“支部主题日”活动中涌现出的好典型、好经验、好做法,并以电子文档形式报乡建室。02各支部: 为深入推进“两学一做”学习教育常态化制度化,真正把员教育管理抓在日常、严在经常,根据中央、省、市、区委有关部署要求和衢州市衢江区委办公室《关于推进“两学一做”学习教育常态化制度化的实施方案》(区委办发〔2017〕62号)、区委组织部《关于进一步深化“支部主题日”活动的通知》(区委组发〔2017〕12号)精神,现就深化“支部主题日”活动有关事项通知如下:


一、目标要求“支部主题日”活动是员固定活动日的升级版,是严肃内政治生活、规范员日常教育管理的有效载体,是推进“两学一做”学习教育常态化制度化和提升建工作水平的重要抓手。要把开展“支部主题日”活动与“三民工程”提档升级、“四个平台”建设、“最多跑一次”改革等有机结合,通过开展“支部主题日”活动,进一步加强和规范内政治生活,真正把思想政治工作、从严教育管理员、群众工作落实到支部,使每个支部都成为坚强的战斗堡垒,为衢江深化推进“四个一”建设,奋力打造以针灸为引领的康养之城,与全省同步高水平全面建成小康社会坚强组织保证。


二、参加对象支部所属员(含预备员)全体参加。根据工作需要,可吸收入积极分子、员发展对象、外来流动员参加。
三、活动时间及形式“支部主题日”每月开展一次,时间不少于半天,原则上固定为每月10日。如有特殊情况可适当前移或顺延,但必须在当月完成,并报上级委备案。“支部主题日”一般以支部为单位开展,也可以由委或总支组织开展,或由区域内的支部联合开展。


四、主要内容“支部主题日”要突出“味”,坚持规范化、注重实效性、体现庄重感。除重要时期、重大活动由上级组织统一确定活动主题外,平时“支部主题日”要落实“五要”规定动作,围绕“七推动”开展好活动。
(一)“五要”规定动作
1.要佩戴员徽章。全体员参加“支部主题日”活动时必须统一佩戴员徽章,亮出员身份,增强共产员的光荣感和为民服务的责任感。


2.要重温入誓词。每次“支部主题日”活动,组织员重温一次入誓词,回顾铮铮誓言,坚定理想信念,牢记职责使命。
3.要现场交纳费。每次“支部主题日”活动,都要组织员现场交纳费,积极履行员义务,增强员组织观念和性观念。

关于进一步规范“支部主题日”活动方案

关于进一步规范“支部主题日”活动方案

4.要学章规或系列讲话。坚持读原文、学原著、悟原理,每次“支部主题日”活动,都要组织员学习章规,学习习**总系列重要讲话精神,组织员讨论,提高思想认识。
5.要上好微课。在“支部主题日”活动中开设“员故事会”,员领导干部、驻村干部和基层支部带头,普通员参与,每次上一堂不超过6分钟的微课,讲史国史,讲风纪,讲学习体会,讲身边先进典型等。


(二)“七推动”重点内容
1.推动专题学习开展。重点围绕中央、省、市、区重大会议、重大部署和重要文件开展专题学习。落实好每季度一次的专题课制度,领导干部带头上课。有条件的支部可组织到红色教育基地开展性教育,赴外学习考察建工作。
2.推动中心工作落实。深化“我是员、向我看齐”行动,全面开展无职员设岗定责,通过设立员责任区、员示范岗、员先锋岗等,引导广大员在“四个平台”建设、“最多跑一次”改革、推进“拆治归”转型升级、剿灭劣V类水等中心工作中带头创先争优、干事创业,发挥好先锋模范作用。


3.推动民主议事决策。结合务、政务公开,及时把重点工作、重大事项和重要决议向员通报,通过召开座谈会、恳谈会等形式,组织员说事、议事和评事;农村基层,要结合落实“五议两公开”制度,组织员参与村级重大事务议事决策工作。
4.推动志愿服务常态。全面推进96345员志愿服务,结合“全科网格”建设,深化在职员进社区回农村、村社员分类建队志愿服务机制。根据员专业特长、兴趣爱好、身体状况,精准对接群众需求,确定志愿服务项目,有组织有计划地发动员开展认领“微心愿”、扶贫帮困、走访慰问等志愿服务活动,帮助群众解决困难。


5.推动民情沟通顺畅。发挥好便民服务中心作用,打造全开放式365天全年无休的民情沟通平台,值班人员每天记录民情,村两委班子每月固定一天接待群众,听取意见建议。完善员联系群众制度,每周至少走访联系群众一次,第一时间听取群众意见,掌握百姓诉求,做好上传下达,为民办事代理服务。
6.推动组织生活规范。严肃内政治生活,落实好“三会一课”制度,员大会、专题课、组织生活会、民主生活会以及谈心谈话、“双述双评”等原则上要求要在“主题日”开展。


7.推动正能量发挥。持续深入抓好万名员“亮身份、立家规、晒承诺、赛业绩”活动,引导员把“学做”标杆立出来、先锋形象树起来。积极开展员家风建设活动,引导广大员干部传承好家训、培育好家风、建设好家庭,以员好家风带动社会风气不断向上向善。
五、相关要求开展“支部主题日”活动是严格规范基层组织生活的重要内容,各级组织要认真落实主体责任,精心组织,严格督导,确保落到实处、取得实效。


1.加强组织领导。各级组织要高度重视,严格落实建工作责任,要把“支部主题日”活动开展情况纳入基层建工作目标责任制考核,作为各级组织抓基层建述职考核的重要内容,要选派建指导员,指导好支部开展“主题日”活动。支部要当好组织者,制定年度活动计划,精心策划每次主题活动,让“每个支部动起来、每名员不掉队”。员领导干部要以上率下发挥示范作用,严格落实双重组织生活制度,以普通员身份参加所在支部的主题日活动。


2.严格制度执行。要坚持“支部主题日”与“三会一课”等的组织生活制度相结合,实行纪实留痕管理,每次活动做到有方案、有内容、有人员、有记录、有总结。要严肃活动纪律,严格遵守中央八项规定和省委“28条办法”“六项禁令”,不得借机搞吃请、外出旅游,不得发放任何形式的误工补贴和其他钱物。要建立“支部主题日”活动督查制度,定期、不定期开展督查,对活动组织不力、敷衍了事的组织予以通报;对无正当理由不参加或长期不参加活动的员,要严肃批评教育,情况严重的予以组织处置。


3.注重营造氛围。要充分利用红色e小镇APP、阿里钉钉系统、远教平台、衢江建网等平台,探索网络互动式的“支部主题日”活动模式。充分运用报纸、网站、微信平台等各类宣传媒体,深入报道“支部主题日”活动开展情况,及时总结推广活动中涌现出的好经验、好做法,推动比学赶超,营造开展“支部主题日”活动的良好氛围。

各支部每次活动结束后,要及时完善台账资料,填报《太真乡“支部主题日”活动情况记录表》(附件2),并报上级组织备案。最新关于进一步规范“支部主题日”活动方案可以看看这篇名叫2018“引领乡村新风”主题日活动方案的文章,可能你会获得更多关于进一步规范“支部主题日”活动方案以下是的一些我们精选的2018“引领乡村新风”主题日活动方案

组织员读红色家书、学先进典型、签员承诺、做志愿服务、践初心使命,教育引导全县广大员培育文明乡风、良好家风、淳朴民风,带动移风易俗,拔掉乡村“穷根”。下面是小编带来的2018“引领乡村新风”主题日活动方案,有兴趣的可以看一看。 为服务乡村振兴,助力脱贫攻坚,通过发挥员先锋模范作用,凝聚强大合力推进“空心房”大拆除、“老人住危房”大清理、城乡环境卫生大整治和农村博违法犯罪专项治理等重点工作,经研究,决定在全镇员中开展“引领乡村新风”主题日活动。现将有关事项通知如下:


一、活动主题 引领乡村新风?
不忘初心使命
二、活动目的

关于进一步规范“支部主题日”活动方案

关于进一步规范“支部主题日”活动方案
贯彻落实省委副、市委李炳军同志在宁都调研座谈讲话精神,结合全省“学典型、读红书、践初心”活动,通过开展“引领乡村新风”主题日活动,组织员读红色家书、学先进典型、签员承诺、做志愿服务、践初心使命,教育引导全县广大员培育文明乡风、良好家风、淳朴民风,带动移风易俗,拔掉乡村“穷根”,在推进“空心房”大拆除、“老人住危房”大清理、城乡环境卫生大整治和农村博违法犯罪专项治理等重点工作中建功立业,为推进乡村振兴、脱贫攻坚贡献力量。


三、活动时间 2018年7月。
四、活动形式 各支部结合主题日活动,分集中学习、公开承诺和志愿服务等3个阶段,开展“引领乡村新风”主题活动。
1、集中学习阶段 采取3+X形式,开展“学典型、读红书、践初心”主题集中学习,具体流程可如下: ①由1名同志领读,集体诵读一篇总关于乡村振兴或脱贫攻坚的重要讲话;

②由1名同志领读,集体诵读一段章规; ③由1名同志领读,集体诵读一篇以上红色家书; ④由1名同志讲述郑德荣、钟扬、李泉新、许帅、姜仕坤、张进、张超等7名“全国优秀共产员”的先进事迹(讲1个或多个均可,具体事迹可在网上搜索下载); ⑤每名员结合自身实际,围绕“学典型、读红书、践初心”和引领乡村新风等,谈心得、谈体会、谈打算;

⑥支部可结合员的思想和半年工作情况进行点评。


2、公开承诺阶段 集中学习后,通过员大会开展“引领乡村新风我承诺”活动,组织员集体诵读并签订《引领乡村新风承诺书》(见附件)。
3、志愿服务阶段 公开承诺后,通过参与空心房拆除、对老人住危房进行劝导、帮助贫困户开展“五净一规范”等方式,组织员在“空心房”大拆除、“老人住危房”大清理、城乡环境卫生大整治和农村博违法犯罪专项治理等重点工作中,开展志愿服务。


五、活动要求
1、工作落实到位。各支部要深刻认识开展“引领乡村新风”主题日活动的重要意义,教育引导广大员积极投身于“空心房”大拆除、“老人住危房”大清理、城乡环境卫生大整治和农村博违法犯罪专项治理等重点工作中。
2、活动成效到位。各支部要创新方式方法,搭建好活动平台,广泛发动员积极参与志愿服务。同时,要充分运用灵活多样的宣传方式,营造浓厚的舆论氛围,相关事例、经验做法可向镇建办投稿。


3、整理总结到位。各支部要运用文字、影像、视频记实等方式,记录活动开展过程,在活动开展后及时进行整理归档。各支部要将本支部所有员签订的《引领乡村新风承诺书》汇编成册。各支部开展“引领乡村新风”主题日活动情况将列入2018年度建工作巡察内容。最新2018“引领乡村新风”主题日活动方案可以看看这篇名叫2018建节活动策划方案 七一主题活动分享的文章,可能你会获得更多2018“引领乡村新风”主题日活动方案

关于进一步规范“支部主题日”活动方案
关于进一步规范“支部主题日”活动方案
关于进一步规范“支部主题日”活动方案

ios主题:一步一步实现iOS主题皮肤切换效果

想知道ios主题:一步一步实现iOS主题皮肤切换效果本文实例为大家分享了iOS主题皮肤切换代码,供大家参考,具体内容如下


1. 主题皮肤功能切换介绍主题切换就是根据用户设置不同的主题,来动态改变用户的界面,通常会改变nigationBar背景图片、tabBar背景图片、tabBar中的按钮的图片和选中的背景图片、nigationItem.title 标题的字体颜色、UI中其他元素控件

下载源代码地址: http://xiazai.jb51.net/201609/yuanma/ThemeSkinSetup(jb51.net).rar


2.项目目录结构及实现效果截图

ios主题_一步一步实现iOS主题皮肤切换效果
ios主题_一步一步实现iOS主题皮肤切换效果
ios主题_一步一步实现iOS主题皮肤切换效果

ios主题_一步一步实现iOS主题皮肤切换效果
ios主题_一步一步实现iOS主题皮肤切换效果
ios主题_一步一步实现iOS主题皮肤切换效果


3. 具体实现步骤
1.将image文件夹(group)和 Skins拖入到项目工程中的资源文件夹中
2.创建BaseViewController
3.配置theme.plist
4.事项项目所需的基本框架供能,并实现主题的tableView功能
5.创建主题管理器:ThemeManager
6.自定义ThemeTabBarItem 控件
7.创建UI工厂: UIFactory
8. 实现tableView中的didSelected事件完成主题切换


9.记录用户选择的主题,以便用户下次启动时是上次设置的主题
1.创建BaseViewController
#import <UIKit/UIKit.h> @interface BaseViewController : UIViewController - (void) reloadThemeImage; @end #import "BaseViewController.h" #import "ThemeManager.h" #import "NotificationMacro.h" @interface BaseViewController () @end @implementation BaseViewController - (id) init { if (self == [super init]) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(themeChangedNotfication:) name:kThemeChangedNotification object:nil]; } [self reloadThemeImage]; return self; } - (void)viewDidLoad { [super viewDidLoad]; [self reloadThemeImage]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void) themeChangedNotfication:(NSNotification *)notification { [self reloadThemeImage]; } - (void) reloadThemeImage { ThemeManager * themeManager = [ThemeManager sharedThemeManager]; UIImage * nigationBackgroundImage = [themeManager themeImageWithName:@"nigationbar_background.png"]; [self.nigationController.nigationBar setBackgroundImage:nigationBackgroundImage forBarMetrics:UIBarMetricsDefault]; UIImage * tabBarBackgroundImage = [themeManager themeImageWithName:@"tabbar_background.png"]; [self.tabBarController.tabBar setBackgroundImage:tabBarBackgroundImage]; } @end
2. 实现AppDelegate

#import "AppDelegate.h" #import "MainViewController.h" #import "ThemeManager.h" #import "NotificationMacro.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self initUserDefaultConfig]; MainViewController * rootViewController = [[MainViewController alloc] init]; self.window.rootViewController = rootViewController; return YES; } - (void) initUserDefaultConfig { NSString * themeName = [[NSUserDefaults standardUserDefaults] objectForKey:kThemeNameKey]; ThemeManager * themeManager = [ThemeManager sharedThemeManager]; themeManager.themeName = themeName; }</span></span> <span font-weight: normal;"><span font-weight: normal;">#import "MainViewController.h" #import "HomeViewController.h" #import "MessageViewController.h" #import "MineViewController.h" #import "UIFactory.h" @interface MainViewController () @end @implementation MainViewController - (id) init { if (self = [super init]) { [self initTabBarUI]; } return self; } - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (void) initTabBarUI { // 主页 HomeViewController * homeViewController = [[HomeViewController alloc] init]; UINigationController * homeNigationController = [[UINigationController alloc] initWithRootViewController:homeViewController]; // UITabBarItem * homeTabBarItem = [[UITabBarItem alloc] initWithTitle:@"主页" image:[UIImage imageNamed:@"tabbar_home"] selectedImage:[UIImage imageNamed:@"tabbar_home_selected"]]; UITabBarItem * homeTabBarItem = [UIFactory createTabBarItemWithTitle:@"主页" imageName:@"tabbar_home" selectedImage:@"tabbar_home_selected"]; homeNigationController.tabBarItem = homeTabBarItem; // 消息(中心) MessageViewController * messageViewController = [[MessageViewController alloc] init]; UINigationController * messageNigationController = [[UINigationController alloc] initWithRootViewController:messageViewController]; // UITabBarItem * messageTabBarItem = [[UITabBarItem alloc] initWithTitle:@"消息" image:[UIImage imageNamed:@"tabbar_message_center"] selectedImage:[UIImage imageNamed:@"tabbar_message_center_selected"]]; UITabBarItem * messageTabBarItem = [UIFactory createTabBarItemWithTitle:@"消息" imageName:@"tabbar_message_center" selectedImage:@"tabbar_message_center_selected"]; messageNigationController.tabBarItem = messageTabBarItem; // 我 MineViewController * mineViewController = [[MineViewController alloc] init]; UINigationController * mineNigationController = [[UINigationController alloc] initWithRootViewController:mineViewController]; // UITabBarItem * mineTabBarItem = [[UITabBarItem alloc] initWithTitle:@"我" image:[UIImage imageNamed:@"tabbar_profile"] selectedImage:[UIImage imageNamed:@"tabbar_profile_selected"]]; UITabBarItem * mineTabBarItem = [UIFactory createTabBarItemWithTitle:@"我" imageName:@"tabbar_profile" selectedImage:@"tabbar_profile_selected"]; mineNigationController.tabBarItem = mineTabBarItem; NSArray * viewControllers = @[homeNigationController, messageNigationController, mineNigationController]; self.viewControllers = viewControllers; } @end


3. 创建主题管理器 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface ThemeManager : NSObject @property (nonatomic, copy) NSString * themeName; // 主题名字 @property (nonatomic, retain) NSDictionary * themePlistDict; // 主题属性列表字典 + (ThemeManager *) sharedThemeManager; - (UIImage *) themeImageWithName:(NSString *)imageName; @end</span></span> <span font-weight: normal;"><span font-weight: normal;">#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface ThemeManager : NSObject @property (nonatomic, copy) NSString * themeName; // 主题名字 @property (nonatomic, retain) NSDictionary * themePlistDict; // 主题属性列表字典 + (ThemeManager *) sharedThemeManager; - (UIImage *) themeImageWithName:(NSString *)imageName; @end #import "ThemeManager.h" #import "NotificationMacro.h" static ThemeManager * sharedThemeManager; @implementation ThemeManager - (id) init { if(self = [super init]) { NSString * themePath = [[NSBundle mainBundle] pathForResource:@"theme" ofType:@"plist"]; self.themePlistDict = [NSDictionary dictionaryWithContentsOfFile:themePath]; self.themeName = nil; } return self; } + (ThemeManager *) sharedThemeManager { @synchronized(self) { if (nil == sharedThemeManager) { sharedThemeManager = [[ThemeManager alloc] init]; } } return sharedThemeManager; } // Override 重写themeName的set方法 - (void) setThemeName:(NSString *)themeName { _themeName = themeName; } - (UIImage *) themeImageWithName:(NSString *)imageName { if (imageName == nil) { return nil; } NSString * themePath = [self themePath]; NSString * themeImagePath = [themePath stringByAppendingPathComponent:imageName]; UIImage * themeImage = [UIImage imageWithContentsOfFile:themeImagePath]; return themeImage; } // 返回主题路径 - (NSString *)themePath { NSString * resourcePath = [[NSBundle mainBundle] resourcePath]; if (self.themeName == nil || [self.themeName isEqualToString:@""]) { return resourcePath; } NSString * themeSubPath = [self.themePlistDict objectForKey:self.themeName]; // Skins/blue NSString * themeFilePath = [resourcePath stringByAppendingPathComponent:themeSubPath]; // .../Skins/blue return themeFilePath; } @end
4. 创建主题按钮 ThemeTabBarItem

#import <UIKit/UIKit.h> @interface ThemeTabBarItem : UITabBarItem @property (nonatomic, copy) NSString * imageName; @property (nonatomic, copy) NSString * selectedImageName; - (id) initWithTitle:(NSString *)title imageName:(NSString *)imageName selectedImage:(NSString *)selectedImageName; @end </span></span> <span font-weight: normal;"><span font-weight: normal;">#import "ThemeTabBarItem.h" #import "ThemeManager.h" #import "NotificationMacro.h" @implementation ThemeTabBarItem // 初始化时注册观察者 - (id) init { if (self = [super init]) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(themeChangedNotification:) name:kThemeChangedNotification object:nil]; } return self; } - (id) initWithTitle:(NSString *)title imageName:(NSString *)imageName selectedImage:(NSString *)selectedImageName { if (self = [self init]) { self.title = title; self.imageName = imageName; // 此时会调用[self setImageName:imageName] ---> [self reloadThemeImage] --->[self setImage:image] self.selectedImageName = selectedImageName;// 此时会调用[self setSelectedImageName:selectedImageName]; } return self; } #pragma mark - #pragma mark - Override Setter - (void) setImageName:(NSString *)imageName { if (_imageName != imageName) { _imageName = imageName; } [self reloadThemeImage]; } - (void) setSelectedImageName:(NSString *)selectedImageName { if (_selectedImageName != selectedImageName) { _selectedImageName = selectedImageName; } [self reloadThemeImage]; } // 主题改变之后重新加载图片 - (void)themeChangedNotification:(NSNotification *)notification { [self reloadThemeImage]; } - (void)reloadThemeImage { ThemeManager * themeManager = [ThemeManager sharedThemeManager]; if (self.imageName != nil) { UIImage * image = [themeManager themeImageWithName:self.imageName]; [self setImage:image]; } if (self.selectedImageName != nil) { UIImage * selectedImage = [themeManager themeImageWithName:self.selectedImageName]; [self setSelectedImage:selectedImage]; } } - (void) dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; }


5. 创建UI工厂

#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface UIFactory : NSObject + (UITabBarItem *) createTabBarItemWithTitle:(NSString *)title imageName:(NSString *)imageName selectedImage:(NSString *)selectedImageName; @end</span></span> <span font-weight: normal;"><span font-weight: normal;">#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface UIFactory : NSObject + (UITabBarItem *) createTabBarItemWithTitle:(NSString *)title imageName:(NSString *)imageName selectedImage:(NSString *)selectedImageName; @end #import "UIFactory.h" #import "ThemeTabBarItem.h" @implementation UIFactory + (UITabBarItem *) createTabBarItemWithTitle:(NSString *)title imageName:(NSString *)imageName selectedImage:(NSString *)selectedImageName { ThemeTabBarItem * themeTabBarItem = [[ThemeTabBarItem alloc] initWithTitle:title imageName:imageName selectedImage:selectedImageName]; return themeTabBarItem; } @end


6. 实现选中单元格的事件

#import "BaseViewController.h" @interface MineViewController : BaseViewController <UITableViewDelegate, UITableViewDataSource> @property (weak, nonatomic) IBOutlet UITableView *tableView; @property (nonatomic, retain) NSMutableArray * themeDataSource; @end #import "BaseViewController.h" @interface MineViewController : BaseViewController <UITableViewDelegate, UITableViewDataSource> @property (weak, nonatomic) IBOutlet UITableView *tableView; @property (nonatomic, retain) NSMutableArray * themeDataSource; @end #import "MineViewController.h" #import "ThemeManager.h" #import "NotificationMacro.h" @interface MineViewController () @end @implementation MineViewController - (void)viewDidLoad { [super viewDidLoad]; self.title = @"我"; ThemeManager * themeManager = [ThemeManager sharedThemeManager]; _themeDataSource = [NSMutableArray arrayWithArray:themeManager.themePlistDict.allKeys]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark - #pragma mark - UITableViewDelegate - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.themeDataSource.count; } - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString * Identifier = @"Cell"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:Identifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Identifier]; } NSString * text = self.themeDataSource[indexPath.row]; cell.textLabel.text = text; ThemeManager * themeManager = [ThemeManager sharedThemeManager]; NSString * currentTheme = themeManager.themeName; if (currentTheme == nil) { currentTheme = @"默认"; } if ([currentTheme isEqualToString:text]) { cell.accessoryType = UITableViewCellAccessoryCheckmark; } else { cell.accessoryType = UITableViewCellAccessoryNone; } return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { ThemeManager * themeManager = [ThemeManager sharedThemeManager]; NSString * themeName = self.themeDataSource[indexPath.row]; if ([themeName isEqualToString:@"默认"]) { themeName = nil; } // 记录当前主题名字 themeManager.themeName = themeName; [[NSNotificationCenter defaultCenter] postNotificationName:kThemeChangedNotification object:nil]; // 主题持久化 NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setObject:themeName forKey:kThemeNameKey]; [userDefaults synchronize]; // 重新加载数据显示UITableViewCellAccessoryCheckmark 显示选中的对号 v [self.tableView reloadData]; }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

画古代公主:一步一步画古代公主简单

精选的画古代公主:一步一步画古代公主简单

画古代公主_一步一步画古代公主简单

求漫画古代公主的图片人物最好看似温柔实际无情(但是

画古代公主_一步一步画古代公主简单

一步一步教画公主裙子,画公主的漂亮长裙子

画古代公主_一步一步画古代公主简单

公主篇:赛拉公主的房间 [平装]

画古代公主_一步一步画古代公主简单
专题栏目