ios学习随笔四

Page-Base Application :

作为一个电子书的应用模板

1关于数据源,首先查看到RootViewController的ViewDidLoad方法的一个datasource来源——ModelController

2ModelController方法的初始方法提供了数据的来源和显示内容

Master-Detail Application:

作为一个记事本的应用提供模板

这里有各种的item的添加方法

匹配父级容器:

父级容器说的是视图所在的容器,通过设置上下左右的边距使它适应各种的屏幕尺寸

通过editor—> pin 设置上下左右的边距

分割父级容器:

要求:分割的容器能适应屏幕的旋转——>通过设置边距线

不同子容器之间的间距的是通过不同的水平间距

父容器内子容器要按一定比例,记得设置父容器与view的边距,第一个viewcontroller相当于是所有建立在它上面的所有view的父容器

自定义圆型进度指示 ---这个例子说明

import UIKit
class progresscustom: UIView {
    override init(frame: CGRect) {
    super.init(frame: frame)
        self.backgroundColor = UIColor(white: 1, alpha: 0)
    }

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    private var _progressValue :CGFloat = 0

    internal func getProgressVlue() ->CGFloat{
        return _progressValue ;
    }
  internal func setProgressValue(value : CGFloat){
        _progressValue = value ;
        setNeedsDisplay() ;
    }

    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.当子图需要表现在VIew上的时候,需要重写这个方法
    override func drawRect(rect: CGRect) {
        // Drawing code
        var ctx = UIGraphicsGetCurrentContext() ;
        var r = rect.width/2
        CGContextAddArc(ctx,r, r, r, 0, 3.1415926*2, 0)
        CGContextAddLineToPoint(ctx, r, r)
        CGContextSetRGBFillColor(ctx, 0.7, 0.7, 0.7, 1)
        CGContextFillPath(ctx)
        CGContextAddArc(ctx,r, r, r, 0, 3.1415926*2*_progressValue, 0)
        CGContextAddLineToPoint(ctx, r, r)
        CGContextSetRGBFillColor(ctx, 0, 0, 1, 1)
        CGContextFillPath(ctx)
        CGContextStrokePath(ctx)
        CGContextSetLineWidth(ctx, 5)
    }

实时预览自定义控件效果:

可以为控件添加自己设置的属性

1:这个属性要在属性窗访问到,要先在project后面上 Add Target  —Cocoa touch framework

2  在这个framework下添加类,在类前添加关键字 @IBDesignable

3每一个需要添加的属性都需要添加关键字@IBInspectable

4属性里有个 didSet 。。。。。layer是原属性用的主体上

5对storyboard上的控件加上上述的类 ,然后可以在这个属性inspector上查看到

IOS视图切换 :图片之间的切换----静态方法

UIView.transitionFromView(cyndi1, toView: cyndi2, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)

通过上述方法来从cyndi1 切换到cyndi2 ,option是切换方式,completion是切换过程执行的函数,可以是nil

当然通过设置一个bool值可以在两张图片直接来回切换

IOS视图动画效果

1先设置动画效果

UIView.beginAnimations(nil ,context : nil)//必须

//设置属性

UIView.seAnimationTransition(UIViewAnimationTransition.CurlDown.     ,...)

UIView.setAnimationDuration(1.0)

2最后一定提交 UIView.commitAnimations()

IOS自定义动画

UIView.transitionWithView()来设置

时间: 2024-10-24 10:14:45

ios学习随笔四的相关文章

ios学习随笔五

Touches 触摸事件处理:在viewcontroller中添加touch的一些方法 //获取触摸点println(touches.anyObject()?.locationInView(self.view)) 多点触摸得在viewdidload中打开多触摸, self.view.multipleTouchEnabled = true 缩放图片: 缩放和放大是通过多点触摸时候,屏幕之间的距离.当两点之间的距离大了,就是放大,否则是缩小 if touches.count == 2{ var cu

IOS学习随笔三

IOS storyboard做界面跳转设计页面: self.dismissViewControllerAnimated(true, completion: nil ) ios8已经替换掉了老得方法定义  使用两个参数的dismissViewControllerAnimated NIB做界面设计: self.presentViewController(MyViewController(nibName: "MyViewController", bundle: nil), animated:

IOS学习随笔二

IOS tableViewController tableViewController ---带有Controller的类都是标准的MVC模式 tableView的使用:----tableViewController的子类,只有View tableView和他的类型:tableView控件可以通过自己写继承于tableview的子类来控制tableview,只要这个tableview关联到这个控件,在storyboard中去设置, 关于tableview可以查看其他笔记 下面的代码是在写tabl

2015二月IOS学习随笔上

swift是一门脚本语言 无指针和内存管理机制 函数内部可以定义函数 func a->(Int->Int)  :一个返回函数地址的函数------这个返回的函数是一个Int参数,返回值Int的函数 swift的数组是动态分配内存的------没有所谓的先定义长度,再使用 闭包closure——>>反向传值———>>UI编程 extension的使用的——类扩展------在不同的地方声明类 接口---protocol swift没有名称空间,却可以使用类的嵌套来实现 N

iOS学习第四天杂记--Objective-C中的内存管理

先说明下,原文为青玉伏案写的.我这只是学习而已. OC中的内存管理. OC中使用引用计数和垃圾回收来管理内存,在OC中为每个对象分配一个引用计数器,当对象刚刚被创建时其初始值为1,当有某段代码需要访问一个对象时,会将该对象的引用计数器加1(通过retain来实现):当访问一个对象结束时,会将该对象的引用计数器减1(通过release来实现):当计数器为0时,该对象占用的内存空间会被收回.在NSObject类有一个retainCount方法,调用该方法可获取当前对象的引用计数值. Tips:测试时

IOS入门学习随笔

我的IOS学习之路并非起于大学期间,而是毕业后所在公司有相关的开发业务,所以我在今年10月份开始了我的IOS之旅. 在今年6月份苹果公司推出了全新的IOS开发语言Swift,这是件让IOS程序员兴奋的事件.因为Swift不仅有新的开发体验,更可以说这次让中国程序员有了一次和世界同步的机会.在我开始接触IOS的时候,我一直在犹豫是直接从ObjectC开始啃还是直接搭上Swift这班顺风车.在我考虑了学习的渐进性和公司实际开发任务之后,我决定从ObjectC开始我的IOS学习之路. 在确定了学习方向

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档

IOS阶段学习第四天笔记(循环)

    IOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双分支 if表达式不成立 则执行else{ }里面的语句 3.字符串的输出系统会从数组地址一直打印到字符 ‘\0’为止,如果没有正确初始化,可能会打印出数组外的信息 4.如果分支结构里面只有一条执行语句可省略外面的大括号{} . 二.开关语句 1.语句结构 :switch (参数) case