IOS UI基础
文章平均质量分 76
看不见的城市
这个作者很懒,什么都没留下…
展开
-
第一个UI界面
IOS提供的UI组件很像C#,很多控件都拖动再绑定事件就可以了,但是毕竟系统很死,生成的东西比较死板,所以我们也要经常自己手动写。在我们创建一个项目后,系统会自动生成一个视图控制器(ViewController),如果你想操作视图控制器上的组件,比如添加事件,那么就应该让视图控制器持有界面上的组件,而主面板(Main.storyboard),Main.storyboard也就是我们程序进入后的第一原创 2014-02-03 12:04:22 · 1501 阅读 · 0 评论 -
UITableView的基本使用三(自定义Cell)
在项目中,我们经常会使用UITableView,但是tableView中的cell格式又不一定每次都是一样的,所以我们需要自己实现我们自定义的cell,而自定义cell的方式也由很多,我们先采取用Xib的方式。1.通过xib创建一个cell,并且通过tag来获取cell上的其他子元素,这种方式会产生很多的tag,让tag都暴漏在控制器中,不方便管理,而且viewWithTag性能低下,每次原创 2014-02-16 16:34:23 · 6288 阅读 · 0 评论 -
ios多控制器切换
iOS中控制器切换分为:modal(模态窗口遮挡)、push(uinavigationcontroller)、uitabbarcontroller和自定义控制器切换。modal代码方式,耦合度较高,控制器相互依赖,所以使用modal的时候用storyboard。一.通过代码方式@protocol LoginControllerViewControllerDelegate;@原创 2014-02-23 21:17:26 · 2394 阅读 · 0 评论 -
ios程序运行过程以及常见文件
ios程序具有完整的生命周期,当用户点击图标的时候,会通过函数入口main开始程序,也就是项目中的main.m文件中的UIApplicationMain 方法,这个时候,会创建一个UiApplication的实例有且只有一个(单例),UiApplication象征着整个程序,然后会创建一个UiApplication的代理对象delegate,再开启一个消息循环监听系统事件,如果监听到某一个动作就会原创 2014-02-22 23:06:47 · 1136 阅读 · 0 评论 -
时间处理控件UIDatePicker与UIPickerView
UIDatePicker依然继承自UIControl是经常用到的一个时间控件,方便我们用户输入日期.让控制器监听值发生改变#import @interface cooljuneViewController :UIViewController UIPickerViewDataSource,UIPickerViewDelegate>- (IBAction原创 2014-02-05 16:35:25 · 4715 阅读 · 0 评论 -
UI组件缩放和旋转
旋转(注意:值是一个180°PI为单位)#pragma mark 改变组件角度旋转- (IBAction)rotationBlock:(UIButton *)sender { [UIViewbeginAnimations:nilcontext:nil]; [UIViewsetAnimationDuration:.8];原创 2014-02-04 14:50:21 · 1021 阅读 · 0 评论 -
UITableView的基本使用一
UITableView继承自UIScrollView,所以内容过多的分屏操作,也不用开发者操心了,开发中很多数据展示都用到这个空间,比如类似九宫格菜单和系统设置,通讯录等等。#pragma mark - 数据源方法 返回分组-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView原创 2014-02-06 20:40:12 · 1858 阅读 · 0 评论 -
UiButton操作
UIButton继承自UIView,虽然界面上的组件都继承自UIView,如果这个组件拥有丰富的事件那么肯定就要继承自UiView的一个子类UIControl,那么像UILable、UIImage这些轻量级组件都没有继承这个类,所以他们拥有的事件操作很少。初始化一个Button -(void) initWithRedBlock{ //初始化块原创 2014-02-04 14:59:20 · 1550 阅读 · 0 评论 -
UIScrollView的分页和使用
UIScrollView同样是继承UIView,主要是对于其他组件内容一屏显示不完整,所以采用分屏显示。- (void)viewDidLoad{ [superviewDidLoad]; UIScrollView *scrol=[[UIScrollViewalloc]init]; //可视范围原创 2014-02-06 20:19:53 · 6797 阅读 · 0 评论 -
利用NSBundle加载资源文件
用NSBundle可以加载项目中的资源文件,比如plist文件或者xib等文件,只需要指定文件名和类型即可 .加载plist文件 //加载plist文件 NSBundle *bunle=[NSBundlemainBundle]; //根据文件类型和文件名加载plist文件 NSStrin原创 2014-02-05 11:41:27 · 3304 阅读 · 0 评论 -
UI基础控件一
UIImageView、UILabel比较轻量级,因为大多数都做展示使用,并不需要什么特殊的操作,没有像UIButton类的组件继承UIControl,所以拥有的事件也比较少,而UISlider、UIStepper、UISwitch这些常用的操作性的控件都继承自UIControl,拥有丰富的事件。控制器头文件#import @interfac原创 2014-02-05 11:54:47 · 1326 阅读 · 0 评论 -
UIImage两种加载方式
UIImage是我们操作图片的一个类,而我们经常用UIImage imageNamed:@“图片名”获取一张图片,这种方法会找资源包中下的图片,加载一次后就一直在缓存中,性能比较好,而另外一种方法[[UIImage alloc] initWithContentsOfFile:@"全路径"]每次都会通过全路径获取图片。类型是否有缓存使用场合UIImage原创 2014-02-05 19:20:15 · 3877 阅读 · 0 评论 -
UI控件的位置操作
在一个UI控制器中先有一个大的VIEW,我们可以通过[self.viewsubviews]获取控制器上所有的子组件,而组件的位置参照物都是父控件。我们常用到的修改组件的位置属性有frame、bounds、bounds、transform,值得注意的是,这些属性都是结构体,而苹果不允许我们直接修改属性结构体里面成员的值,一般都需要先取出来这个结构体,对这个结构体修改,再把结构体赋值给原来的属性,原创 2014-02-05 12:22:43 · 1668 阅读 · 0 评论 -
IOS之UI添加动画
UIView提供了类方法beginAnimations开始一个动画,这种写法很像Java中jdbc中提交一个事务一样。 [UIViewbeginAnimations:nilcontext:nil]; //设置动画开始 [UIViewsetAnimationDuration:.8];//设置动画时间//动画操作原创 2014-02-04 14:46:36 · 908 阅读 · 0 评论 -
UITableView的基本使用二(性能优化)
在使用UITableView的时候,会有很多的cell数据产生,如果数据量很大,而且用户在界面上操作频繁的时候,就会造成性能下降,那么这个时候我们要考虑使用缓存机制,也就是像Java中的缓存机制一样,用过Memcache或者使用过数据库连接池的同学肯定知道这个原理,如果缓存池中有就用缓存池中的,如果没有再创建。而在操作cell的时候,比如删除添加修改的时候,都要遵循MVC模式,通过修改数据来修改c原创 2014-02-15 17:35:24 · 3295 阅读 · 0 评论