zoukankan      html  css  js  c++  java
  • Custom UIView 要重定的方法

    Custom UIView,要自定义,需要重写:

    - (id)initWithFrame: (CGRect) frame //依照Frame建立新的View,建立出來的View要通过addSubview加入到父View中。

    -(void)drawRect:(CGRect)rect //自画,永远不要直接调用drawRect,而要通过 [self setNeedDisplay],由系统再去异步调用drawRect。并且必须在主线程中调用。

    自定义UIView不能使用nib文件设计界面,必须在程序中用代码创建各个控件,否则即使在主线程中调用setNeedDisplay也是不起作用。

    大致步骤

    1) 新建一个UIView的子类(@interface HypnosisView : UIView)

    2) 自定义绘图函数:(void) drawRect:(CGRect)rect

    ◆确定绘图范围:CGRect bounds=[self bounds]

    ◆获得CGContext, CGContextRef context=UIGraphicsGetCurrentContext();

    ◆进行绘图操作

    3) 将新视图绑定到主窗口

    ◆在HypnosisterAppDelegate中添加一个成员变量HypnosisView *view;

    ◆确定绘图范围

    ◆在didFinishLaunchingWithOptions中增加子视图:[_window addSubview:view];

    ◆进行显示 [_window makeKeyAndVisible];

    待确定事项:

    1) CGContextStrokePath的功能

    2) makeKeyAndVisible消息的功能

  • 相关阅读:
    Linux零拷贝技术 直接 io
    纯Python模式
    c 越界 数组越界
    哈希 二叉树
    Cache busting
    sub esp
    lisp 代码即数据
    hexdump
    nmap
    对象 闭包
  • 原文地址:https://www.cnblogs.com/flylovesky/p/3260129.html
Copyright © 2011-2022 走看看