IOS开发的OC基础和UI基础的简介

来源:互联网 发布:mac怎么调节字体大小 编辑:程序博客网 时间:2024/06/06 03:19

1.变量


2.类的声明和实现


3.类的继承


4.初始化,分+,-,和重写init


5.属性,@property 变量 自动生成_变量,set,get方法和实现。

  可以用点语法代替get和set方法
  修饰对象用retain 基本数据类型assign nonatomic非原子性(一般为这个) atomic为原子性 保证    线程安全
  @property(nonatomic, retain)
  KVC方法对属性赋值


6.字符串

  字符串的声明初始化,格式化声明,类型转换调用方法
  常用方法   
  isEqualToString字符串是否相等
  substringFromIndex从index开始的字串
  substringToIndex从0到Index字串
  substringWithRange范围字串
  stringByAppendingString拼接
  stringByReplacingCharactersInRange
  stringByReplacingOccurrencesOfString字符串替换
  uppercaseString
  lowercaseString大小写
  capitalizedString首字母大写
  hasPrefix判断开头
  hasSuffix判断结尾
  containsString包含串
  可变字符串NSMutableString
  一般创建方法NSMutableString *str = [NSMutableString string]
  appendString拼接
  insertString插入
  deleteCharactersInRange删除


7.数组

  不可变数组NSArray
  [NSArray arrayWithObjects:@“aa”,nil]
  字面量声明@[@“aa”]
  count数组长度NSInteger根据系统的位数决定,mac为ld,long型
  objectAtIndex,array[index]取出数组个别
  firstObject,lastObject第一或最后一个
  indexOfObject根据元素获取在哪个下标
  containsObject判断是否在数组中
  componentsSeparatedByString字符串分割成数组
  componentsJoinedByString数组加分割符成字符串
  可变数组NSMutableArray
  addObject添加
  insertObject插入
  removeAllObject
  removeObjectAtIndex
  removeObject删除
  exchangeObjectAtIndex: withObject/withObjectAtIndex: 交换位置


8.字典

  不可变字典NSDictionary
  @{@“value”:@“key”}
  [NSDictionary dictionaryWithObjectsAndKeys:@“value”,@“Key”,nil]初始化
  objectForKey获取字典元素
  count字典健值对的个数
  allKeys获取所有key
  allValues获取所有value
  可变字典NSMutableDictionary
  [NSMutableDictionary dictionary]声明
  [dic setObject:@“value” forKey:@“key”]
  removeObjectForKey
  removeAllObjects


9.集合NSSet(去重)

  [NSSet setWithObjects:@“a”,nil]
  anyObject获取集合中的所有元素
  可变集合NSMutableSet
  [NSMutableSet set];
  addObject添加元素
  count元素个数
  removeObject移除元素
  计数集合NSCountedSet
  [NSCountSet set]
  addObject添加
  countForObject元素的个数


10.通讯录

  字典中包含数组


11.内存管理

  ARC自动引用计数 会用strong代替retain
  MRC手动引用计数
  单对象:
  dealloc对象销毁时调用
  retain计数加一
  release计数减一
  当计数为0时,自动销毁对象
  自动释放池@autoreleasepool{}离开时计数减一
  便利构造器会有自动释放的
  对象被添加到容器的时候,计数会加一,容器销毁的时候,也会减一
  多对象
  人车模型
  copy不可变数组时没有开辟内存
  mutableCopy都开辟内存了



12.block

  返回类型(^名字)(形参) = ^(实参){};
  可以用typedef定义前面部分
  方法体中只能用外部的__block定义的变量


13.类目

  给没有源代码的类添加方法,NSString...


14.延展

  管理有源代码的类的私有属性和方法
  在.m的文件中声明该属性和方法


15.UIView
  属性
  alpha透明度
  hidden隐藏
  center中心点
  tag 标签
  viewWithTag根据编号找到View
  backgroundColor
  功能
  bringSubviewToFront 子view在前面
  bringSubviewToBack 子view在后面
  removeFromSuperview 子view消失
  addSubview 添加


16.UILabel

  属性
  text 文本内容
  textAlignment 位置 = NSTextAlignmentCenter 居中
  textColor 颜色
  font 文字大小= [UIFont systemFontOfSize:]
  shadowColor 阴影颜色 = [UIColor xxx]
  shadowOffset 阴影位置= CGSizeMake(x,y)
  numberOfLines 行数
  layer.cornerRadius 圆角
  layer.masksToBounds = YES 显示圆角


17.UIButton

  属性
  创建[UIButton buttonWithType:UIButtonWithTypeCustom]
  frame = CGRectMake设置位置和大小
  方法
  [setTitle: forState:UIControlStateNormal] 设置文字
  [setTitleColor: forState:UIControlStateNormal] 设置字体颜色
  [setBackgroundImage: forState:] 设置背景图片 要创建Image = [UIImage imageNamed:”a”] a如果是png不用写后缀名,其他的要
  [setImage: forState:] 设置前景图片
  [setTitleEdgeInsets:UIEdgeInsetsMake(float top,left,bottom,right)]
  [setImageEdgeInsets:UIEdgeInsetsMake(float top,left,bottom,right)] 调整文字和图片的位置
  [addTarget:self action:@selector(youTouchMe) forControlEvents:UIControlEventTouchUpInside] 添加点击事件,youTouchMe是点击的方法


18.UITextField输入框

  属性
  placeholder提示文字
  secureTextEntry密文输入
  clearButtonMode 右侧清空小按钮 = UITextFieldViewModeAlways
  enabled 是否允许输入= NO 
  keyboardType 键盘类型 = UIKeyboardTypeNumberPad(数字键盘)
  borderStyle 边框类型
  layer.borderColor = [UIColor redColor].CGColor 边框颜色
  layer.borderWith 边框框宽
  layer.cornerRadius 边框圆角
  returnKeyType return健的样式
  代理方法:先签订协议在.m的interface后面加<UITextFieldDelegate>
  delegate = self
  再添加代理方法-(BOOL)textFieldShouldReturn:(UITextField *)textField
  把键盘收回方法 [textField resignFirstResponder/endEditing:YES]
  textFieldDidBeginEditing开始编辑
  textFieldDidEndEditing结束编辑


19.UIAlertController提示框

  添加选项UIAlertAction
  [self presentViewController: ]弹出提示框
  [self dismissViewControllerAnimated]
  定时器NSTimer


20.UIImageView显示图片类

  image = UIImage
  animationImages 图片数组
  animationDuration 逐帧动画时间
  animationRepeatCount 重复次数
  方法
  startAnimating 开始动画


21.视图控制器

  执行顺序
  loadView
  viewDidLoad
  viewWillAppear
  viewDidAppear
  消失
  viewWillDisappear
  viewDidDisappear
  视图界面跳转
  view.modalTransitionStyle怎么跳转
  presentViewController
  didReceiveMemoryWarning超内存


22.自定义视图

  重写initFrame方法
  属性写成延展



23.事件

  touches… 触摸手机
  userInteractionEnabled 用户交互
  motion...摇晃手机


24.小球拖动

  UITouch 获取触摸对象 anyObject
  locationInView 位置


25.手势

  点击手势
  UITapGestureRecognizer
  [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMe)]
  view添加手势addGestureRecognizer
  numberOfTapsRequired 产生效果的点击数目
  长按手势
  UILongPressGestureRecognizer
  minimumPressDuration 触发事件
  allowableMovement 允许的移动范围
  可以在时间中state判定状态UIGestureRecognizerState...
  轻扫手势
  UISwipeGestureRecognizer
  direction 指定方向
  缩放手势
  UIPinchGestureRecognizer
  拖动手势
  UIPanGestureRecognizer
  旋转手势
  UIRotationGestureRecognizer
  屏膜边界手势
  UIScreenEdgePanGestureRecognizer


26.分段控件UISegmentedControl

  [[UISegmentedControl alloc] initWithItems:NSArray]
  frame大小
  selectedSegmentIndex 默认选项
  [setTitle: forSegmentAtIndex] 修改标题
  [image imageWithRenderingMode:UIImageRenderModeAlwaysOriginal]防止照片渲染
  addTarget添加事件


27.UISwitch+UISlider

  onTintColor开的颜色
  thumbTintColor 小球的颜色
  addTarget添加事件
  on开关打开
  UISlider
  thumbTintColor 小球的颜色
  maximumTrackTintColor 未划过的颜色
  minimumTrackTintColor 划过的颜色
  maximumValue 最大值
  minimumValue 最小值
  addTarget添加事件


28.UISrollView滚动

  contentSize设置大小
  pagingEnabled 分页显示
  bounces 是否反弹
  indicatorStyle = 修改滚动条样式 UIScrollViewIndicatorStyleWhite
  contentOffset 偏移量
  可以设置代理
  代理事件 开始拖和结束拖,开始减速,开始动了,结束减速
  UIPageControl 页面控制
  可以设置选中和未选中的颜色
  currentPage 当前页面
  setContentOffset 方法的时候可以添加动画


29.导航控制器

  UINavigationController
  navigationBar.barTintColor导航栏颜色
  navigationBar.translucent 半透明
  navigationItem.rightBarButtonItem 右侧按钮
  [self.navigationController pushViewController: animated]
  相当于栈


30.属性传值

  在另外一个页面定义属性,在准备跳转的时候,对另外一个页面的属性进行赋值


31.代理传值

  1.声明协议@property customDelegate<NSObject> sendMessageMethod @end
  2.声明属性(代理人)@property(nonatomic,assign)id<customDelegate>delegate
  3.在协议中声明方法,用来传值


32.Block和单例传值

  创建static的单例对象,进行页面的传值


33.通知(传值)

  分广播和收音机
  注册通知(收音机)
  [[NSNotificationCenter defaultCenter] addObserver:self selector: name: object:]
  广播[[NSNotificationCenter defaultCenter] postNotificationName: object: userInfo:nil]
  移除通知[[NSNotificationCenter defaultCenter] removeObject: selector: name: object:]


34.UITabbarController

  viewControllers = 把页面加到Tabbar


35.UITableView

  要实现两个方法
  cellForRowAtIndexPath 每行cell的处理
  numberOfRawsInSection 行数
  cell的方法和创建
  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier: identifier]
  textLabel.text 大文字
  detailTextLabel.text 小文字
  imageView.image 图片
  accessoryType 右侧小箭头 = UITableViewCellAccessoryDetailButton
  cell的高度
  -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  数据源数组:最好存对象
  控制分区的代理方法
  numberOfSectionsInTableView 分区的个数
  heightForHeaderInSection 分区的高度
  titleForHeaderInSection 分区标题
  viewForHeaderInSection 自定义分区
  tab.tableHeaderView 添加表头
  编辑
  系统编辑按钮
  navigationItem.rightBarButtonItem = self.editButtonItem
  点击Edit后执行的方法 setEditing
  Edit的代理方法
  canEditRowAtIndexPath 是否允许编辑
  canMoveRowAtIndexPath 是否允许移动
  UITableViewCellEditingStyle 插入还是删除类型
  titleForDeleteConfirmationButtonForRowAtIndexPath 删除按钮的文字
  commitEditingStyle 控制删除和插入操作
  moveRowAtIndexPath 控制移动的方法
  didSelectRowAtIndexPath 点击cell执行的方法
  reloadData 刷新列表


36.自定义cell

  创建UITableViewCell的继承类,用该类布局后,添加到cell容器中
  第一步:在.h定义需要的控件
  第二步:重写初始化方法并cell添加控件[self.contentView addSubview:self.movieTime]
  第三步:设置控件信息,方法-(void) layoutSubviews


37.AutoLayout

  添加约束方法


38.SizeClass

  可以横竖屏适配


39.可视化cell

  要自定义identifier,要从xib文件加载cell


40.UICollectionView

  创建布局类UICollectionViewFlowLayout
  布局类的属性
  minimumLineSpacing 最小行间距
  minimumInteritemSpacing 最小列间距
  sectionInset 上下左右四边距 = UIEdgeInsetsMake();
  scrollDirection 设置滚动方向 = UICollectionViewScrollDirectionVertical
  类似tableView签订协议
  添加代理方法
  再自定义CollectionViewCell
  还有分区
  类似tableView
  
























0 0
原创粉丝点击