首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在uiview的子类中更改CGPoint行的颜色

在UIView的子类中更改CGPoint行的颜色,可以通过以下步骤实现:

  1. 创建一个UIView的子类,例如MyView。
  2. 在MyView的初始化方法中,设置背景颜色为透明色,以便能够看到父视图的背景。
  3. 重写MyView的drawRect方法,在该方法中进行绘制操作。
  4. 在drawRect方法中,使用UIBezierPath绘制一个点,可以通过设置点的大小和颜色来改变CGPoint行的颜色。
  5. 在父视图中创建一个实例化的MyView对象,并将其添加为子视图。
  6. 在父视图的布局方法中,设置MyView的frame和位置,使其显示在所需的CGPoint行上。

以下是一个示例代码:

代码语言:txt
复制
import UIKit

class MyView: UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.backgroundColor = UIColor.clear
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.backgroundColor = UIColor.clear
    }
    
    override func draw(_ rect: CGRect) {
        super.draw(rect)
        
        // 绘制一个红色的点
        let pointColor = UIColor.red
        let pointSize: CGFloat = 5.0
        let pointRect = CGRect(x: rect.origin.x - pointSize/2, y: rect.origin.y - pointSize/2, width: pointSize, height: pointSize)
        let pointPath = UIBezierPath(ovalIn: pointRect)
        pointColor.setFill()
        pointPath.fill()
    }
}

// 在父视图中使用MyView
let parentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
let myView = MyView(frame: CGRect(x: 100, y: 100, width: 10, height: 10))
parentView.addSubview(myView)

在上述示例中,我们创建了一个名为MyView的UIView子类,重写了drawRect方法,在该方法中绘制了一个红色的点。然后,在父视图中创建了一个实例化的MyView对象,并将其添加为子视图。通过设置MyView的frame和位置,可以将该点显示在所需的CGPoint行上。

请注意,这只是一个示例,你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Core Animation总结

但是最大不同是UIView可以处理用户交互,而CALayer是不能够响应事件,即使它提供了一些判断触点是否图层范围内方法。...很重要原因是要将职责分离,这样可以避免很多重复代码,由于iOS平台和MacOS平台上用户交互方式有着本质不同,iOS系统我们使用是UIKit和UIView,而在MacOS系统我们使用是...= kCAFillModeForwards,这两代码将会让A控制住P动画结束后保持不变,但是此时我们P和M不同步,我们看到P是toValue状态,而M则还是自己原来状态。...如果指定此属性值,则忽略值属性任何数据 keyTimes keyTimes值与values值一一对应指定关键帧动画中时间点,取值范围为0,1。...,这时就需要用到CAAnimationGroup,其是CAAnimation子类,默认情况下,一组动画对象是同时运行,也可以通过设置动画对象beginTime属性来更改动画时间 CATransition

1.3K10

iOS开发CoreAnimation解读之二——对CALayer分析

iOS开发CoreAnimation解读之二——对CALayer分析 一、UIViewCALayer属性 1.Layer专门负责view视图渲染         每一个UIView对象中都有一个...UIView其中layer默认是CALyer类,我们也可以通过重写View的如下方法来使其创建我们需要layer类: +(Class)layerClass{ } 例如我们自定义一个View类,自定义一个...,它可以分为两个方面: 1.不改变内容原始大小 这种模式不会改变内容原始大小,如果层尺寸小于内容尺寸,则内容会被切割,如果层尺寸大于内容尺寸,多出部分将会显示层背景颜色。...3.一些属性与方法 + (nullable id)defaultValueForKey:(NSString *)key; 上面这个属性用于设置layer默认属性值,我们可以子类重写这个方法来改变默认创建... position; //设置其父layer层次,默认为0,这个值越大,层次越靠上 @property CGFloat zPosition; //锚点 @property CGPoint anchorPoint

99320

UI篇-UIResponder之事件传递和响应精析

分别有多点触控、摇一摇以及远程操作(iOS之后新增了3DTouch事件类型)。一个用户点击事件处理过程,UIEvent对象是唯一。...其中涉及到了UIView两个方法(可以重写),当hitTest返回YES才会调用这个View Touch事件,因为如果返回NO,则当前View被排除相应链之外了。 ?...我们可以重写view-(UIView )hitTest:(CGPoint)point withEvent:(UIEvent)event方法来测试 #import "UIView+MYtes.h" #import...这时我们如果还想再加inputAccessoryView,按API说法,就需要新建一个该视图子类,并重新声明inputAccessoryView属性为readwrite。...比如我们要实现点击一个tableView时,呼出一个UIPickerView,并且附加一个用于回收PickerViewtoolbar。

2.4K30

iOS原生地图开发指南续——大头针与自定义标注

iOS原生地图开发指南续——大头针与自定义标注 在上一篇博客http://my.oschina.net/u/2340880/blog/415360系统总结了iOS原生地图框架MapKit主体地图设置与应用...重绘大头针视图,大头针渲染时会调用地图代理方法,我们可以重写这个方法进行大头针重绘,来更改颜色: -(MKAnnotationView *)mapView:(MKMapView *)mapView...这个类根简单,只有一下两个属性: @property (nonatomic) MKPinAnnotationColor pinColor; 设置大头针颜色,枚举如下: typedef NS_ENUM(...四、标注视图类MKAnnotationView其他常用属性解读 @property (nonatomic) CGPoint centerOffset; 视图中心偏移量 @property (nonatomic...; 设置左辅助视图偏移量 @property (nonatomic) CGPoint rightCalloutOffset; 设置右辅助视图偏移量 专注技术,热爱生活,交流技术,也做朋友。

1K30

【IOS开发基础系列】UIView专题

子类可以重写这个方法来提供一些特定必要实现 willRemoveSubview:     由子类重写用来子视图从接收者视图中移除前执行一些特定方法。...绘图操作是UIViewdrawRect方法完成,所以如果我们要想在一个UIView绘图,需要写一个扩展UIView 类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图...那么将在每次设置或更改frame时候自动调用drawRect:。     ...iOS很多类型事件分发,都依赖于响应链;响应链,所有对象基类都是UIResponder,也就是说所有能响应事件类都是UIResponder子类,UIApplication/UIView/...返回目标视图view像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView*)view; // 将像素point从view中转换到当前视图中

43030

iOS动画-CALayer基础知识

图层与视图底层关系.png UIView、UIColor、UIImage都定义于UIKit框架; CALayer定义QuartzCore框架CoreAnimation; CGImageRef...下面是一些UIView没有暴露出来CALayer功能: 设置阴影、圆角、带颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 二、CALyer寄宿图与contents属性 CALayer具有和...自定义绘制寄宿图1.png 特别注意1:如果没有自定义绘制任务不需要寄宿图,就不要在子类写一个空-drawRect:方法,否则会造成CPU资源和内存浪费; 特别注意2:如果我们将绘制过程角度参数改为动态...为了能清楚区分,图层用了position,视图用了center,但它们都代表了同样值,另外CALayer锚点(anchorPoint)没有UIView公开。...Animatable. */ @property CGPoint anchorPoint; 我们可以看出,position被用于描述当前layersuperlayer位置,而且是通过当前layer

1.8K50

iOS动画专题·UIView二维形变动画与CAAnimation核心动画(transform动画,基础,关键帧,组动画,路径动画,贝塞尔曲线)

1. iOS动画 总的来说,从涉及类形式来看,iOS动画有:基于UIView仿射形变动画,基于CAAnimation及其子类动画,基于CG动画。这篇文章着重总结前两种动画。 2....UIView动画 设置UIView形变动画有两种常见用到属性,.frame,.transform,所以有的人也可以分别称之为: ① frame动画 ② transform动画 这两种动画只需要在动画语法适当位置...nonatomic,getter=isExclusiveTouch) BOOL exclusiveTouch __TVOS_PROHIBITED; // default is NO 实际开发...如果在程序改变了某个控件transform,那么请不要使用这个控件frame计算 子控件 布局,应该使用bounds+center代替。 3....组动画 6.1 组动画 上面单一动画情况实际开发实际比较少,更多时候是组合这些动画:创建不同类型动画对象,设置好它们参数,然后把这些动画对象存进数组,传进组动画对象animations属性中去

3.2K21

编码篇-iOS开发奇巧小伎

title颜色和大小 7.统一收起键盘 8.导入自定义字体库 9.动态方法动态执行 10.isKindOfClass和isMemberOfClass区别 11.Label字体大小 12.为UIView...光标 37、当UITextView/UITextField没有文字时,禁用回车键 38、通知监听APP生命周期 39、获取collectionViewCell屏幕frame 40、UITextField...ttf 格式,拖入工程 2、工程plist增加一数组,“Fonts provided by application” 3、为这个key添加一个item,value为你刚才导入ttf文件名 4...isMemberOfClass 更加精准,它只能判断这个对象是否是某一个类实例(不能判断子类) 11.Label字体大小 label.font.pointSize 12.为UIView某个角添加圆角...本地受保护文件可用了 39、获取collectionViewCell屏幕frame 可以用来设计collectionViewCell点击放大缩小到初始位置。

5.3K10

iOS学习——UIView研究

iOS开发,我们知道有一个共同基类——NSObject,但是对于界面视图而言,UIView是非常重要一个类,UIView是很多视图控件基类,因此,对于UIView学习闲非常有必要。...返回目标视图view像素值 */ 130 - (CGPoint)convertPoint:(CGPoint)point toCoordinateSpace:(id <UICoordinateSpace.../** 将像素point由point所在视图转换到目标视图view,返回目标视图view像素值 */ 214 - (CGPoint)convertPoint:(CGPoint)point toView...:(nullable UIView *)view; 215 /** 将像素point由point所在视图转换到目标视图view,返回目标视图view像素值 */ 216 - (CGPoint)convertPoint...:(CGPoint)point fromView:(nullable UIView *)view; 217 /** 将rect由rect所在视图转换到目标视图view,返回目标视图viewrect

2.7K80

史上最详细iOS之事件传递和响应机制-原理篇

必须要自定义UIView子类继承自UIView。因为苹果不开源,没有把UIView.m文件提 供给我们。...我们只能通过子类继承父类,重写子类方法方式处理UIView触摸事件(注意:我说UIView触摸事件而不是说 UIViewController触摸事件)。...view事件就不需要自定义UIView子类继承于UIView,因为可以viewController.m 文件重写touchBegan:withEvent:方法,但是,我们此处讨论是处理UIView...所以,还是那句话,想处理UIView触摸事件,必须自定义UIView子类继承自UIView。 2.1.UIView拖拽 那么,如何实现UIView拖拽呢?...但是,建议父控件hitTest:withEvent:返回子控件作为最合适view! 原因在于自己hitTest:withEvent:方法返回自己有时候会出现问题。

10.6K70

使用UIBezierPath绘制图形

当需要画图时我们一般创建一个UIView子类, 重写其中drawRect方法 再drawRect方法利用UIBezierPath添加画图 UIBezierPath使用方法: (1)创建一个Bezier...也可以设置filled path属性usesEvenOddFillRule 我们直接上demo, 创建一个BezierView继承自UIView并重写drawRect方法 #import "BezierView.h...添加到Controller #import "ViewController.h" #import "BezierView.h" #define SCREEN_WIDTH [UIScreen mainScreen...也可以用下面这个方法画圆弧 + (instancetype)bezierPathWithArcCenter:(CGPoint)center    //圆心坐标                   radius...另外UIBezierPath可以画贝赛尔曲线 下面是添加二次贝赛尔曲线方法 - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint

1K40

iOS开发之画图板(贝塞尔曲线)

一.封装画图板     其实上面的白板就是一继承于UiView一个子类,我们可以在这个子类添加我们画图板相应属性和方法,然后实例化成对象添加到ViewController,当然为了省事添加白板时候是通过...1.封装白板第一步是新建一个UIView子类MyView,然后添加相应属性和方法。...MyView.h代码如下,代码具体意思请参照注释 1 #import 2 3 @interface MyView : UIView 4 //用来设置线条颜色...= self.mySlider.value; 5 }     2、通过SegmentControl来设置线条颜色 1 /通过segmentControl来设置线条颜色 2 - (IBAction...本文结束时来几张截图吧(demo下载地址:http://www.pgyer.com/LTQ8): ?

1.5K100

审计对存储MySQL 8.0分类数据更改

作者:Mike Frank 译:徐轶韬 面临挑战 使用敏感信息时您需要拥有审计日志。通常,此类数据将包含一个分类级别作为一部分,定义如何处理、审计等策略。...之前博客,我讨论了如何审计分类数据查询。本篇将介绍如何审计对机密数据所做数据更改。...特别是对于可能具有数据访问权限但通常不应查看某些数据管理员。 敏感数据可以与带有标签数据穿插在一起,例如 公开 未分类 其他 当然,您可以MySQL Audit打开常规插入/更新/选择审计。...mysqld]启用启动时审计并设置选项。...在这种情况下,FOR将具有要更改其级别数据名称,而ACTION将是更新(之前和之后),插入或删除时使用名称。

4.6K10

VimVi删除、多行、范围、所有及包含模式

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷命令可以删除多行、范围。 删除 Vim删除一命令是dd。...以下是删除分步说明: 1、按Esc键进入正常模式。 2、将光标放在要删除上。 3、键入dd并按E​​nter键以删除该行。 注:多次按dd将删除多行。...删除范围 删除一系列语法如下: :[start],[end]d 例如,要删除从3到5,您可以执行以下操作: 1、按Esc键进入正常模式。 2、输入:3,5d,然后按Enter键以删除。...删除包含模式 基于特定模式删除多行语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含。 要匹配与模式不匹配,请在模式之前添加感叹号(!): :g!.../foo/d-删除所有不包含字符串“foo”。 :g/^#/d-从Bash脚本删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白,模式^$匹配所有空行。

75.3K32

IOS开发系列——UIView专题之四:事件分发机制篇【整理,部分原创】

UIView中提供两个方法用来确定hit-testing View,如下所示 -(UIView*)hitTest:(CGPoint)pointwithEvent:(UIEvent*)event; /...iOS很多类型事件分发,都依赖于响应链;响应链,所有对象基类都是UIResponder,也就是说所有能响应事件类都是UIResponder子类,UIApplication/ UIView/...PS:CALayer不是UIResponder子类,这说明CALayer无法响应事件,这也是UIView和CALayer重要区别之一。...本身是不会去存储或者设置nextResponder,所谓nextResponder都是子类去实现(这里说UIView,UIViewController,UIApplication),关于nextResponder...调用super目的就是为了把事件传递给nextResponder,并且如果我们touchesBegan没有调用super,则super不会响应其他回掉(touchesMoved/touchesEnded

59810
领券