iOS 学习笔记——0010(- (void)drawRect:(CGRect)rect)

//  Created by 少林 on 15/11/26.
//  Copyright © 2015年 少林. All rights reserved.
//

#import "UIPillsViewBackgroundView.h"

#define THE_VIEW_COLOR [UIColor whiteColor]
const CGFloat VIEW_RADIUS = 5.0f;
const CGFloat VIEW_LINE_WIDTH = 3.0f;

@implementation UIPillsViewBackgroundView

- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    UIBezierPath *roundedRect = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:VIEW_RADIUS];
    [roundedRect addClip];
    roundedRect.lineWidth = VIEW_LINE_WIDTH;
    [THE_VIEW_COLOR setStroke];
    [roundedRect strokeWithBlendMode:kCGBlendModeNormal alpha:1];
}

@end

上方代码是画一个带圆角的矩形。

bgPill = [[UIPillsViewBackgroundView alloc]initWithFrame:CGRectZero];

bgPill.backgroundColor = [UIColor clearColor];

[bgPill setFrame:pill.frame];

bgPill.userInteractionEnabled = NO;

userInteractionEnabled

A Boolean value that determines whether user events are ignored and removed from the event queue.

译:一个布尔值,它决定了是否用户触发的事件被该视图对象忽略和把该视图对象从事件响应队列中移除。

时间: 2024-11-03 01:43:25

iOS 学习笔记——0010(- (void)drawRect:(CGRect)rect)的相关文章

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关

iOS学习笔记(1)— UIView 渲染和内容管理

iOS学习笔记(1)— UIView 渲染和内容管理 iOS中应用程序基本上都是基于MVC模式开发的.UIView就是模型-视图-控制器中的视图,在iOS终端上看到的.摸到的都是UIView. UIView在屏幕上定义了一个矩形区域和管理区域内容的接口.在运行时,一个视图对象控制该区域的渲染:UIView继承自UIResponder,UIResponder是用来响应事件的类,UIView也具有响应事件的能力.所以说UIView具有三个基本的功能,绘制内容并管理内容的布局,响应用户交互,动画.正是

iOS学习笔记08-Quartz2D绘图

一.Quartz2D简单介绍 在iOS中常用的绘图框架就是Quartz2D,Quartz2D是Core Graphics框架的一部分,我们日常开发使用的所有UIKit组件都是由Core Graphics进行绘制的 在iOS中Quartz2D绘图的一般步骤: 获取绘制上下文 创建并设置路径 将路径添加进绘制上下文中 设置上下文状态 绘制路径 释放路径 UIKit默认为我们提供了一个图形上下文,在UI控件的drawRect:方法中调用UIGraphicsGetCurrentContext()获取图形

iOS学习笔记 20:去掉UITableView多余的空白行分割线

一.问题描述 在学习和开发中经常会遇到下面的问题,UITableView的UITableViewCell很少或者没有时,但UITableView有很多的空白行分割线.如下图: 如何去掉UITableView多余的空白行分割线? 二.问题分析 方法一:隐藏UITableViewCell自带的分割线,然后自定义分割线到UITableViewCell.自定义分割线的方法有很多种,可以自行查找. 方法二:很简单,修改tableFooterView.创建frame为CGRectZero的UIView,赋值

IOS 学习笔记---一个最基本的画板(纯代码实现)

创建一个以OC为开发语言的IOS工程,新建一个类继承与UIView 重写一下方法并实现 //在.h文件里面声明两个实例变量 { CGPoint _startpoint;//记录点击滑动时的位置 NSMutableArray* _marray;//记录滑动时的位置 } //在.m文件里面 //重写初始化方法 -(id)initWithFrame:(CGRect)frame{ if(self==[super initWithFrame:frame]){ self.backgroundColor=[U

layoutSubviews和drawRect:(CGRect)rect的用法探讨

布局/定位相关 @interface UIView(UIViewHierarchy) - (void)setNeedsLayout; 注意: 1.在receiver标上一个需要被重新布局的标记,在系统runloop的下一个周期自动调用layoutSubviews. - (void)layoutIfNeeded; 注意: 1.方法如其名,UIKit会判断该receiver是否需要layout.根据Apple官方文档,layoutIfNeeded方法应该是这样的layoutIfNeeded遍历的不是

iOS学习笔记-精华整理

iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁. 2-成员属性:     readonly:不指定readonly,默认合成getter和setter方法.外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全

iOS: 学习笔记, 用代码驱动自动布局实例

iOS自动布局是设置iOS界面的利器. 本实例展示了如何使用自动布局语言设置水平布局, 垂直布局 1. 创建空白iOS项目 2. 添加一个控制器类, 修改YYAppDelegate.m文件 #import "YYAppDelegate.h" #import "YYViewController.h" @implementation YYAppDelegate - (BOOL)application:(UIApplication *)application didFin

iOS: 学习笔记, 添加一个带界面约束的控制器

1. 创建一个空iOS应用程序(Empty Application). 2. 添加加控制器类. 修改控制器类的viewDidLoad 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 //创建标题 5 UILabel *header = [[UILabel alloc] init]; 6 header.text = @"欢迎来到我的世界!"; 7 header.textAlignment = NSTextAlignmentCenter