IOS基础——图片浏览器

《1》  UIImageView、UILabel、UIButton    

           a)      功能分析

                   i.           点击剪头切换序号、图片、描述

                   ii.           如果是首张图片,左边箭头不能点击

                   iii.           如果是尾张图片,右边箭头不能点击

         b)     步骤分析

                   i.           搭建UI界面

                   ii.           监听按钮点击

                   iii.           切换序号、图片、描述

 

《2》  了解UIImageView的contentMode

《3》  更换UILabel的文字

《4》  在storyboard中设置UIlabel的自动换行和文字居中

《5》  NSArray和NSDictionary的简单使用

《6》  Plist文件的创建和读取

《7》  属性的懒加载

《8》  viewDidLoad方法的使用

《9》  UIButton的多种状态

 

 

练习:使用纯代码的方式重写图片浏览器的小案例

 

UILabel的基本设置---小技巧:

《1》  要想让UILabel自动换行,设置Lines为0即可

 

UIButton的状态

《1》  normal(普通状态)

a)      默认情况

b)     对应的枚举常量:UIControlStateNormal

《2》  highlighted(高亮状态)

a)      按钮被按下去的时候(手指还未松开)

b)     对应的枚举常量:UIControlStateHighlighted

《3》  disabled(失效状态,不可用状态)

a)      如果enabled属性为NO,就是处于disable状态,代表按钮不可以点击

b)     对应的枚举常量:UIControlStateDisabled

 

UIButton和UIImageView

《1》  相同点

a)      都能显示图片

《2》  不同点

a)      Button默认的情况下可用监听点击事件,而UIImageView默认情况下不能

b)     UIButton可以在不同状态显示不同的图片

c)      UIButton既能显示文字,又能显示图片

 

《3》  如何选择

a)      UIButton:需要显示图片,点击图片后需要做一些特定的操作

b)     UIImageView:仅仅需要显示图片,点击图片后不需要做任何事情。

 

NSArray和NSDictionary的使用

《1》  当图片内容非常多时,“根据index来设置内容”的代码就不具备扩展性,要经常改动

《2》  为了改变现状,可以考虑图片数据线保存到一个数组中,数组中有序地放着很多字典,一个字典代表一张图片数据,包含图片名、图片描述

a)      @property(strong,nonatomic)NSArray * image;

《3》  由于只需要初始化一次图片数据,因此放在get方法中初始化

《4》  将属性放在get方法中初始化的方式,称为“懒加载”\”延迟加载”

 

Plist文件

《1》  直接将数据直接写在代码里面,不是一种合理的做法。如果数据经常修改,就要经常翻开对应的代码进行修改,造成代码扩展性低。

《2》  因此,可以考虑将经常变的数据放在文件中进行存储,程序启动后从文件中读取最新的数据。如果要变动数据,直接修改数据文件即可,不用修改代码。

《3》  一般可以使用属性列表文件存储NSArray或者NSDictionary之类的数据,这种属性列表文件的扩张名是plist,因此也成为“Plist文件”。

 

解析Plist文件

《1》  接下来通过代码来解析Plist文件中的数据

《2》  获得Plist文件的全路径

a)      NSBundle * bundle = [NSBundlemainBundle];

b)     NSString * path = [bundlepathForResource:@”imageData” ofType :@”plist”]

《3》  加载plist文件

a)      _images = [NSArrayarrayWithContentOfFile:path];

b)     –(NSArray * ) images

  {

    if (_images == nil) {

        NSBundle *bundle = [NSBundle mainBundle];

        NSString *path = [bundlepathForResource:@"imageData" ofType:@"plist"];

        _images = [NSArrayarrayWithContentsOfFile:path];

    }

    return _images;

}

 

基于分布式模型预测控制的多个固定翼无人机一致性控制(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制的多个固定翼无人机一致性控制”展开,采用Matlab代码实现相关算法,属于顶级EI期刊的复现研究成果。文中重点研究了分布式模型预测控制(DMPC)在多无人机系统中的一致性控制问题,通过构建固定翼无人机的动力学模型,结合分布式协同控制策略,实现多无人机在复杂环境下的轨迹一致性和稳定协同飞行。研究涵盖了控制算法设计、系统建模、优化求解及仿真验证全过程,并提供了完整的Matlab代码支持,便于读者复现实验结果。; 适合人群:具备自动控制、无人机系统或优化算法基础,从事科研或工程应用的研究生、科研人员及自动化、航空航天领域的研发工程师;熟悉Matlab编程和基本控制理论者更佳; 使用场景及目标:①用于多无人机协同控制系统的算法研究与仿真验证;②支撑科研论文复现、毕业设计或项目开发;③掌握分布式模型预测控制在实际系统中的应用方法,提升对多智能体协同控制的理解与实践能力; 阅读建议:建议结合提供的Matlab代码逐模块分析,重点关注DMPC算法的构建流程、约束处理方式及一致性协议的设计逻辑,同时可拓展学习文中提及的路径规划、编队控制等相关技术,以深化对无人机集群控制的整体认知。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值