随笔分类 - UIKit(笔记)
摘要:http://www.jianshu.com/users/5b9cf22a3692/latest_articles
阅读全文
摘要:目录:一、Core Animation二、广播设计模式回到顶部一、Core Animation 1. 是什么? 底层的动画框架 2. 框架对比 UIKit UI UIView AppKit NS NSView (Cocoa Touch = UIKit + Foundation) (Cocoa = AppKit + Foundation) 核心:让好看又能动的东西 在手机上和用户可以交互 OC级别: + UIControl/UIView子类 + UITableView/UICollectionView + UIGestureRecognizer / UIView touch Core Anima
阅读全文
摘要:2. UIView的动画UIView类本身具有动画的功能 2.1 概念 由UI对底层Core Animation框架的封装 可以轻松简单的实现动画效果 2.2 两种使用方式 1> Block 基本步骤 1>设置参与动画的视图的初始状态 alpha=0.0 2>[UIView animateWithDuration:] 3>将结束状态写到block中例1- (IBAction)start:(id)sender { [UIView animateWithDuration:3.0 animations:^{ self.imageView.alpha = 1.0;// 目标值
阅读全文
摘要:目录:一、AutoLayout自动布局二、动画(Animation)回到顶部一、AutoLayout自动布局1.什么是AutoLayout 从ios6开始引入的新技术,是新版的自动布局技术2.基本原理 通过对视图中所有子视图添加各种约束的方式实现布局,约束是一种规则,保存在父视图中,约束(constraint)类似于: 此子视图相对父视图的左边一定20个点 此子视图相对父视图的上边一定20个点 此子视图宽100个点,高30个点。3.使用AutoLayout[MX1-AutoLayout]按住ctrl向上下左右托4.约束的颜色: 4.1设置约束两大原则 1>描述清晰 2>互不冲突 4
阅读全文
摘要:目录:1. 纯代码布局2. 在View中进行代码布局3. Autoresizing回到顶部1. 纯代码布局 纯代码布局分VC下和V下 [MX1-layout-code] 在VC下覆盖viewDidLayoutSubviews方法,在方法中写布局,一般会把要布局的控件拉成属性 当界面大小发生改变时(竖屏变横屏, 出现工具栏或各种bar....), 调用此方法。注意这个方法在运行之后就会调用,只是在界面发生变化后会再次调用,最终的布局在这里起作用。 此方法的调用在Storyboard布局后。 注意关掉AutoLayout 1.1 计算坐标 1> 两个按钮等宽 2> ImageView:
阅读全文
摘要:目录:1.手势创建的拖拽方式2.frame,bounds,transform,center区别3.触控(touch)4.布局5.代码布局回到顶部1.手势创建的拖拽方式创建手势对象,修改手势对象属性,加入指定视图,这三件事都可以不用写代码,而用拖拽的方式完成。设置拖拽方式手势代理的方法是:在第六个检查器里拖拽delegate到ViewController设置拖拽方式手势触发调用的方法是:按住ctrl直接拖拽到.m文件里回到顶部2.frame,bounds,transform,center区别2.1 类型frame,bounds是CGRect{origin{x,y},size{width,heig
阅读全文
摘要:目录:一、tableviewcell贴图二、手势GestureRecognizer5.1 Tap(按一下)5.2 Swipe(轻扫一下)5.3 pinch(捏/扩)5.4 longPress(长按)5.5 Pan(拖动)5.6 Rotation(旋转)6 transform变形回到顶部一、tableviewcell贴图1.tableviewcell贴图在storyboard中设置:tableview的separator(分隔符)为none,既然要贴图默认分隔符就不要用了tableviewcell的background为Clear Color,默认是白色,去掉才能看到效果在代码中:设置cell贴
阅读全文
摘要:目录:1. View绘制2. 绘制曲线3. 绘制文字4. 贴图回到顶部1. View绘制 1.1 做出自己的视图对象 TRCell : UITableViewCell : UIView UIButton UILabel UITextField UIImageView … 进度条 1.2 视图对象根据数据显示 1> 视图对象显示属性 这种属性一般与业务逻辑无关,只属性于显示 2> 重绘 当视图对象的显示属性发生改变,则必须重绘视图,重绘视图的一般做法: 覆盖属性的setter方法 完成setter方法中的正常赋值等操作 向当前视图对象发setNeedsDisplay消息请求重绘 1.
阅读全文
摘要:目录:1. Storyboard2. Views3. View的基本概念介绍4. 绘制图形5. UIBezierPath回到顶部1. Storyboard 1.1 静态表视图 1)Section可以增加、删除、修改头脚文字 2)Cell可以增加、删除、调整类型、修改文字、修改辅助视图类型 3) 自定义accessoryView: 将需要做辅助视图的控件拖拽到VC下的小黑条 选择Cell,第6个检查器,连线accessoryView到小黑条上的控件 4)自定义Cell 拖拽一个Cell或选择一个已有的Cell 检查器4中将Style设置为Custom 拖拽需要的控件到Cell中 5) 调整Tab
阅读全文
摘要:目录:1. UIDatePicker2. UIPickerView3. UIPickerView多列关联4. UIWebView5. Storyboard(故事板)回到顶部1. UIDatePicker 1.1 获取用户选择的日期: NSDate *date = [UIDatePicker date]; 1.2 需要设置的属性: Mode: 时间, 日期, 日期和时间… Locale: 设置地区,比如中文等 Date: 初始日期,一般为当前日期 1 NSDate *selectedDate = [self.datePicke date]; 2 3 //将世界标准时间 转换为 ...
阅读全文
摘要:目录:一、UICollectionViewController二、UITabBarController(标签控制器)三、视图和试图控制器的生命周期四、其他控件回到顶部一、UICollectionViewController1 概念:从ios6开始,是一个变异的TableViewController,可以将其认为是一个二维表视图。2 布局特点:Flow Layout流式布局3 和TableViewController比较:TableViewController CollectionViewControllersection sectionrow itemcell cellcell:UITabl.
阅读全文
摘要:目录:1. UITableTableViewCell2. tag技术3. 自定义Cell4. 用nib文件构造自定义的静态表5. TableView数据模型总结6. Xcode代码调试回到顶部1、UITableTableViewCell[1-TableViewCell-contentView]1. UITableViewCell : UIView -contentView -imageView -textLabel -detailTextLabel -自定义的视图 -accessoryView : accessoryType 使用内置的4种View : accessoryView = 其他视图
阅读全文
摘要:目录:一、tableview的编辑模式-增删改查二、不使用继承创建tableview三、accessoryView辅助视图回到顶部一、tableview的编辑模式-增删改查[1-contact-edit]增:1对数据模型增加数据 self.contacts addObject:2对tableview增加行 self.tableView insertRowsAtIndexPaths删改查:tableview进入编辑模式1如何设置编辑模式UITableView.editing2能干什么:添加、删除、移动这些都是对cell进行的操作3进入编辑模式的快捷方式是把viewDidLoad中的self.ed
阅读全文
摘要:目录:一、UIPageControl二、table view数据模型三、反向传值给TableView并更新回到顶部一、UIPageControl在页面下显示点1 重要属性.numberOfPages有多少个点.userInteractionEnabled用户控制交互开关.currentPage当前页 //创建图片下方的点 PageControl UIPageControl *pageControl = [[UIPageControl alloc] init]; pageControl.frame = CGRectMake(0, self.view.frame.size.height - 50,
阅读全文
摘要:目录:一、UITableViewController(表视图控制器)二、委托协议三、tableview工作过程(三问一响应)四、UITableViewCell回到顶部一、UITableViewController(表视图控制器)1 table:ios中的表格指一维半的表格,一行一列,而一列又分多个区2 最常用的一个视图控制器,用于按照列表的方式显示和操作大量的数据时使用3 好处,布局管理,不需要计算坐标,自动判断事件,自动进行内存管理,自动设置数据值。4 创建UITableViewController新建一个分类,继承自UITableViewController5 tableview的基本信息
阅读全文
摘要:目录:一、UINavigationController导航视图控制器二、NSAttributeString属性字符串三、UIImageView图像处理回到顶部一、UINavigationController导航视图控制器1 定义:导航视图控制器是控制另外控制器的控制器2 作用:导航,管理多个视图控制器的跳转,比如我们自己控制视图控制器的跳转更清晰3 怎么用:创建UINavigationController有一个初始化方法initWithRootViewController:被控制的控制器* 把navigationcontroller设置成window的根视图* 从navigationcontr
阅读全文
摘要:目录:一、正向传值二、反向传值三、代理模式回到顶部正向传值:就是把第一个界面的值传给第二个界面显示,其简单实现方法1 首先在第一个界面中要有一个textField输入框,一个按钮button,第二个界面至少有一个要显示该值的标签lable,并附带一个back按钮。2 在第一个界面.m文件中拉一个button按钮的方法,这个方法实现了接收textField文本框的值,并赋值给第二个界面的一个公开属性,假设是message(之所以要一个公开属性,因为语法规定不能直接访问第二个界面里面的控件),然后跳转到第二个界面。3 在第二个界面中的lable控件通过访问message属性获取值。该赋值写在一个叫
阅读全文
摘要:目录:一、控件使用二、动态类型和静态类型三、MVC四、UIAlertView对话框回到顶部一、控件使用1 事件源,事件处理方法有一个参数传进来,那个参数就是触发这个事件的时间源。UISlider事件源,valueChange是事件,参数是sender,方法是://该方法实现改变点击slider改变label值- (IBAction)valueChange:(id)sender { //强制把sender转换成UISlider类型 UISlider* slider = (UISlider*)sender; //取slider的value值 self.label.text = [NSString
阅读全文
摘要:目录:一、视图和控制器二、interface Builder回到顶部一、视图和控制器1 视图(view)ios程序运行期间用户所能看见的东西都可以认为是视图,比如UIwindow就是一个视图类。* 所有视图类都直接间接的继承UIView* 控件是可以和用户交互的视图对象,一般会继承自UIConller类,UIButton、UILable2 控制器(contoller)控制视图显示的对象叫控制器,通常叫视图控制器。* 所有的视图控制器都是直接或间接继承自UIViewController类* 创建自己的控制器,定义一个类,继承自UIViewController步骤:*1 创建一个控制器MXView
阅读全文

浙公网安备 33010602011771号