当前位置: 首页 > news >正文

临沂市罗庄区住房和建设局网站深夜睡不着一个人看的正能量

临沂市罗庄区住房和建设局网站,深夜睡不着一个人看的正能量,智慧团建网站注册登录入口,专门做衣服特卖的网站有哪些功能需求 实现一个图片浏览器#xff0c;点击左右按钮可以切换背景图#xff0c;且更新背景图对应的索引页和图片描述内容。 分析#xff1a; 实现一个UIView的子类即可#xff0c;该子类包含多个按钮。 实现步骤#xff1a; 使用OC语言#xff0c;故创建cocoa Touch类…功能需求 实现一个图片浏览器点击左右按钮可以切换背景图且更新背景图对应的索引页和图片描述内容。 分析 实现一个UIView的子类即可该子类包含多个按钮。 实现步骤 使用OC语言故创建cocoa Touch类型文件。Xcode会创建.h文件和.m文件PicBrowserDemo类。 图片资源导入注意图片不要重名 注意各项的类型Root是Array其余是Dictionary 实现该类。 该类带有多个控件令其继承UIView。 a. 声明类的成员变量在.h文件中定义类型是strong。 该图片浏览器需要两个可显示文字内容但不可修改的Label、两个前后图片切换的按钮以及承载图片的视图。 在.h 文件中 interface PicBrowserDemo : UIView property(strong, nonatomic) UIImageView *imageView; property(strong, nonatomic) UILabel *label1; property(strong, nonatomic) UILabel *label2; property(strong, nonatomic) UIButton *btn1; property(strong, nonatomic) UIButton *btn2; endb. 创建plist类型文件直接在项目下创建plist文件属于resource类型文件在该栏目下可找到。 选择root类型为Array而每个元素设置为字典因为每个字典中存图片的名称和title描述。 c. .m 文件 // 1 plist:信息填写 // 2 初始化各个组件显示的信息以第一张为基准 // 3 nxt // 4 pre // 5 降低冗余合并pre、nxt函数#import PicBrowserDemo.h// 写私有属性在这里 interface PicBrowserDemo() // assign、strong的区别 asign表示基本类型的变量 property(nonatomic, strong) NSArray *pic; property(nonatomic, assign) int index;end// 从plist中读取到的各图片信息集合implementation PicBrowserDemo -(instancetype) initWithFrame:(CGRect)frame{self [super initWithFrame:frame];if(self){// 初始化5个组件_imageView [[UIImageView alloc] initWithFrame:CGRectMake(80, 230, 150, 150)];// 图片模式放入如何显示的 按比例缩放不会拉伸变形_imageView.contentMode UIViewContentModeScaleAspectFit;// 初始化为pic中第一张图片NSDictionary *dict self.pic[0];_imageView.image [UIImage imageNamed:dict[icon]];// 固定值写法//_imageView.image [UIImage imageNamed:i1.png];// label1_label1 [[UILabel alloc] initWithFrame:CGRectMake(80, 190, 150, 40)];_label2 [[UILabel alloc] initWithFrame:CGRectMake(80, 380, 150, 40)];// text填内容_label1.text [NSString stringWithFormat:%d/%ld, 1, self.pic.count];// 下面的label填入title_label2.text dict[title];// 填充方式fill_label1.textAlignment NSTextAlignmentCenter;_label2.textAlignment NSTextAlignmentCenter;// btn1_btn1 [[UIButton alloc] initWithFrame:CGRectMake(30, 300, 50, 50)];_btn2 [[UIButton alloc] initWithFrame:CGRectMake(230, 300, 50, 50)];// btn1[_btn1 setBackgroundImage:[UIImage imageNamed:zuo1.jpg] forState:UIControlStateNormal];// btn2[_btn2 setBackgroundImage:[UIImage imageNamed:you1.png] forState:UIControlStateNormal];// 绑定点击向前和向后[_btn1 addTarget:self action:selector(changePages:) forControlEvents:UIControlEventTouchUpInside];//[_btn2 addTarget:self action:selector(changePages:) forControlEvents:UIControlEventTouchUpInside];// [_btn1 addTarget:self action:selector(pre) forControlEvents:UIControlEventTouchUpInside]; // // // [_btn2 addTarget:self action:selector(nxt) forControlEvents:UIControlEventTouchUpInside]; // // 用tags区分该切换前一张还是后一张_btn1.tag 1;_btn2.tag 2;[self addSubview: _imageView];[self addSubview: _btn1];[self addSubview: _btn2];[self addSubview: _label1];[self addSubview: _label2];}return self; }// 重写属性pic的get方法懒加载 /* 第一次调用一定为空加载即可*/ - (NSArray *) pic{if(_pic nil){// 获取plist的文件路径// nsBundle获取手机上软件的安装路径而非项目路径NSString *path [[NSBundle mainBundle] pathForResource:pics ofType:plist];// 读取文件NSArray *array [NSArray arrayWithContentsOfFile:path];NSLog(count:%ld, array.count);_pic array;}return _pic; }// 不需要参数 - (void) changePages:(UIButton *)sender{switch (sender.tag) {case 1:_index--;break;case 2:_index;break;}NSDictionary *dict self.pic[self.index];// 上面的label填入页码_label1.text [NSString stringWithFormat:%d/%ld, self.index1, self.pic.count];// 下面的label填入title_label2.text dict[title];// 图片框填入图片_imageView.image [UIImage imageNamed:dict[icon]];// 如果已经到了最后一张则按钮切换为不允许点// 索引为末尾-1则设置下一张按钮为不可点击// 没必要通过图片来设置通过yes、no设置即可达到所需的灰色状态// 两条必须同时设置否则会出现 翻到底再返回时向右按钮仍然灰色self.btn2.enabled !(_pic.count -1 _index);self.btn1.enabled !(0 _index); }// 加索引: - (void) nxt{_index;NSDictionary *dict self.pic[self.index];// 上面的label填入序号_label1.text [NSString stringWithFormat:%d/%ld, self.index1, self.pic.count];// 下面的label填入标题_label2.text dict[title];// 图片框填入图片_imageView.image [UIImage imageNamed:dict[icon]];// 如果已经到了最后一张则按钮切换为不允许点// 索引为末尾-1则设置下一张按钮为不可点击// 没必要通过图片来设置通过yes、no设置即可达到所需的灰色状态self.btn2.enabled !(_pic.count -1 _index);self.btn1.enabled !(0 _index); }// - (void) pre{_index--;NSDictionary *dict self.pic[self.index];// 上面的label填入序号_label1.text [NSString stringWithFormat:%d/%ld, self.index1, self.pic.count];// 下面的label填入标题_label2.text dict[title];// 图片框填入图片_imageView.image [UIImage imageNamed:dict[icon]];// 如果为0则设置向左不可点击且更换图片self.btn1.enabled !(0 _index);self.btn2.enabled !(_pic.count -1 _index); } end 调用入口 - (void)viewDidLoad {[super viewDidLoad];//[self test_Common_arrtibute];[self testPicBrowser]; }-(void) testPicBrowser{PicBrowserDemo *browserView [[PicBrowserDemo alloc] initWithFrame:CGRectMake(50, 80, 300 ,700)];//[browserView setBackgroundColor: [UIColor blueColor]];[self.view addSubview:browserView];}效果展示 首页只可向右尾页只可向左 要注意的问题以及犯错 关于懒加载 设置变量同名的函数实则为setter判断变量指向为空则做初始化获取操作后续再利用都不需要此为懒加载方式。 关于plist加载 使用bundle接口, 通过plist文件名即可该底层原理是使用了安装APP后的文件结构来获取文件而非运行工程的目录结构。 plist总是读取为空 我的plist获取方式是读取Array接口而我的plist中root设置为dictionary类型因此接口不对应获取错误了。改root为array类型即可。 初始化index报错 switch中tag为2是向右点击所以应该index。 图片浏览器初始化 按pic第一张的图片和title初始化即可。
http://www.w-s-a.com/news/479051/

相关文章:

  • 网店网站开发怎样用ps做企业网站
  • 南京门户网站建设做网站一般注册哪几类商标
  • 企业咨询管理服务wordpress seo tdk
  • 做网站前期创建文件夹flash 开发的网站
  • 天津网站制作培训搭建网站的工具
  • 江西网站建设价格低网上卖产品怎么推广
  • 做aelogo动效有什么好的网站建立网站站点的步骤
  • 无锡网站推广公司排名网站赚钱平台
  • 网站物理结构利用公共dns做网站解析
  • 苍南做网站微信建设网站哪家好
  • 华中农业大学基因编辑在线设计网站网站蓝色配色
  • 洛阳建设工程信息网站怎么在服务器建立网站
  • 陕西省建设部官方网站微信小程序怎么关闭这个功能
  • 唐河县住房和城乡建设局网站公司需要做网站
  • 体现网站特色免费个人域名网站
  • ps国外教程网站seo优化是什么职业
  • 什么是网站单页适合女生做的网站
  • 环境文化建设方案网站企业英语网站
  • 南通网站关键词推广响应式网站建设流程
  • 湖北响应式网站建设企业做漫画网站 漫画哪找
  • 东莞建设通网站中小企业网站的建设实践报告
  • 合肥网站建设电话wordpress 点击量
  • 公司网站制作注意什么wordpress如何邀请人看
  • 做渲染的网站太原做网站兼职
  • 网站开发实施方案怎么设置wordpress底栏文字
  • 网站建设朝阳学前端有必要找培训机构吗
  • 自适应网站好处wordpress ftp验证
  • 网站建设的时间免费ppt模板的网站
  • 建个人网站一般多少钱ppt下载网站哪个好
  • 网站建设比赛网站建设合同标的怎么写