• 绘图中的drawRect


    rect参数:代表的是当前view的bounds

    1 为什么要在drawRect方法里面写绘图代码

    因为只有在这个方法中才能获取到当前view相关的图形上下文对象

    有了这个图形上写文对象后才能进行绘图操作

    2 为什么是在这个方法中能够获取图形上下文?

    图形上下文对象不是我们自己创建的,仅仅是获取,图形上下文对象是系统创建的

    而且只萌在drawRect方法中获取

    3 注意:我们不能直接去调用一个view的drawRect:方法?

    因为这个方法的执行,在当前的view第一次显示的时候,会调用一次,是系统执行的

    系统执行的时候,可以保证里面的图形上下文对象真的创建好了

    如果手动直接调用,自己控制,并不能保证里面的图形上下文对象创建ok

    4 如果需要调用drawRect方法:

    可以通过

    [self setNeedsDisplay]; //直接全部重绘

    [self setNeedsDisplayInRect:(cgRect)];  //直接把指定区域里面的内容重绘,让自定义view执行重绘操作

    我们调用这两个方法,系统内部会去调用view的drawRect方法实现重绘

  • 相关阅读:
    BZOJ4240: 有趣的家庭菜园
    BZOJ1509: [NOI2003]逃学的小孩
    BZOJ5301: [Cqoi2018]异或序列
    BZOJ4540: [Hnoi2016]序列
    BZOJ4956: [Wf2017]Secret Chamber at Mount Rushmore
    BZOJ2141: 排队
    BZOJ1833: [ZJOI2010]count 数字计数
    HDU2089: 不要62
    BZOJ5178: [Jsoi2011]棒棒糖
    BZOJ3439: Kpm的MC密码
  • 原文地址:https://www.cnblogs.com/ritian/p/iOS.html
Copyright © 2020-2023  润新知