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

自定义绘图UIView在iOS 9上崩溃,但在其他系统上可以正常工作

可能是由于iOS 9引入了一些新的API或者对现有API进行了修改,导致与自定义绘图UIView的实现方式产生了冲突或者不兼容。

为了解决这个问题,可以尝试以下几个步骤:

  1. 检查代码:仔细检查自定义绘图UIView的代码,确保没有使用已经废弃或者不再支持的API。可以查阅苹果官方文档或者开发者社区了解相关API的变化。
  2. 更新依赖库:如果自定义绘图UIView使用了第三方库或者框架,确保这些库或者框架已经更新到最新版本,以适配iOS 9及以上的系统。
  3. 适配iOS 9:针对iOS 9的特性和变化,对自定义绘图UIView进行适配。例如,可以使用新的API替代已经废弃的API,或者修改代码以适应新的系统行为。
  4. 测试和调试:在iOS 9上进行详细的测试和调试,定位崩溃的具体原因。可以使用Xcode提供的调试工具,如断点调试、日志输出等,来帮助定位问题所在。
  5. 参考相关资源:苹果官方文档、开发者社区、技术博客等都是获取解决方案的宝贵资源。可以搜索相关的错误信息或者关键词,查找其他开发者在类似情况下的解决方案。

对于iOS开发中的自定义绘图UIView问题,腾讯云并没有直接相关的产品或者服务。但腾讯云提供了丰富的移动开发解决方案,如移动推送、移动分析、移动测试等,可以帮助开发者提升移动应用的质量和用户体验。具体产品和服务信息可以参考腾讯云移动开发官网:https://cloud.tencent.com/solution/mobile

相关搜索:在oreo上使用alt beacon可以正常工作,但在派上会崩溃代码在jsFiddle上工作正常但在本地系统上没有uicelltableView上的11按钮在iOS9上不会被点击,但在iOS11上可以点击Angular 7 /JS,video.currentTime在谷歌Chrome上不能正常工作,但在火狐上可以正常工作异步Task.Run lambda表达式在安卓上崩溃,但在iOS上工作正常React-Native-Camera在IOS上不工作,但在Android上工作,IOS应用程序崩溃为什么通用链接可以在iOS 12上工作,但在iOS 13上不能工作?iframe元素在windows浏览器上可以正常显示视频,但在IOS上不显示应用程序在模拟器上工作正常,但在真实设备上崩溃在iOS设备上,单击事件不会在单击时触发,但在桌面上可以正常工作Swagger with spring boot在某些机器上可以工作,但在其他机器上就不行了firebase ml kit在android上检测不到二维码,但在ios上可以工作(flutter)应用程序在笔记本电脑上工作,但在安卓系统上崩溃?React-Native应用程序在android设备上立即崩溃,但在模拟器上工作正常在我的应用程序中配置multidex仍然可以在android studio上正常工作,但在尝试从play商店下载时会崩溃为什么我的CSS在Safari中不能像预期的那样工作,但在Chrome上却可以正常工作为什么在IOS上运行时不能通过Resource.LoadAll()加载资源,但在OS X上可以正常加载资源?HTML5视频不能在IOS设备上播放,但在其他任何地方都可以正常播放iOS -应用程序仅在直接在模拟器上运行时崩溃,但在调试或通过Xcode运行时工作正常安卓摄像头在APi 22(棒棒糖)上无法使用,但在所有其他版本上都可以工作
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

UIview

序:本文翻译自苹果官方文档,自己想系统的了解每个控件的官方解释。只翻译了部分,详情见官方文档。 UIView UIView类定义了一个矩形区域屏幕和管理内容的接口。...通常情况下,子视图的可见区域的范围不剪它的父视图,但在iOS可以使用clipsToBounds属性来改变行为。...如何使用UIView类的详细信息,看到视图iOS编程指南。 The View Drawing Cycle 视图绘制需要的基础发生。...该方法的实现负责绘制视图的内容到当前图形上下文,这是系统设置的自动调用该方法之前。这将创建一个静态视图的可视化表示的内容可以显示屏幕。当视图的实际内容发生变化时,你有责任通知系统视图需要重绘。...因为它将等待下一个绘图周期更新视图中,您可以调用这些方法多个视图同一时间更新他们。

70310

自定义一个浮层弹窗视图

(7_0); @end 上面的代码展示了UIView动画的相关接口,它能够实现我们日常开发中80%以上的动画效果,可以处理frame、alpha、transform等,但是UIView的内置动画是不能自定义中间状态的...实现一个自定义弹窗视图 我们平时开发的时候,经常会遇到这样的需求:页面中弹出一个自定义视图,除了弹出的自定义视图之外,页面的其他位置都置灰态。比如下图这样: ?...展示浮层自定义提示视图的时候,我使用了UIView的动画,可以在这里实现浮层自定义提示视图展示时候的动画。 给浮层的背景视图添加一个点击手势,以点击的时候移除该浮层。...通过UIView系统封装好的动画,我们可以实现日常开发中80%的动画需求,剩下的一些较复杂的动画,可以使用CoreAnimation来自定义。...关于CoreAnimation,我之前写过一系列的文章,在这里罗列一下: 通过重写drawRect方法UIView中进行绘图 通过重写drawLayer:InContext:方法CALayer中进行绘图

1.4K30
  • View编程指南

    苹果官方文档View Programming Guide for iOS 一、简介 iOS中,您可以使用windows和views屏幕显示应用程序的内容。...UIKit和其他系统框架提供了许多views,你可以很少或根本没有修改就直接使用或者根据需要自定义View。...UIView管理这些View之间的这些关系方面做了大部分工作,但是您也可以根据需要自定义默认行为。 View与Core Animation Layer一起工作来处理View内容的渲染和动画。...View的绘图周期 UIView类使用按需绘制模型来呈现内容。当一个view第一次出现在屏幕时,系统要求它画出其内容。系统捕获此内容的snapshot,并将该snapshot用作view的视觉表示。...支持自定义的控件通过控件类本身的明确的,记录良好的接口来实现。 例如,UIButton类包含设置按钮的标题和背景图像的方法。 使用定义的定制点意味着您的代码将始终正常工作

    2.3K20

    iOS 事件处理机制与图像渲染过程

    CALayer iOS当中,所有的视图都从一个叫做UIVIew的基类派生而来,UIView可以处理触摸事件,可以支持基于Core Graphics绘图可以做仿射变换(例如旋转或者缩放),或者简单的类似于滑动或者渐变的动画...实际这些背后关联的Layer图层才是真正用来屏幕显示和做动画,UIView仅仅是对它的一个封装,提供了一些iOS类似于处理触摸的具体功能,以及Core Animation底层方法的高级接口。...UIView 的 Layer 系统内部,被维护着三份同样的树形数据结构,分别是: 图层树(这里是代码可以操纵的,设置属性的最终值会立刻在这里更新); 呈现树(是一个中间层,系统就在这一层更改属性,进行各种渲染操作...iOS 渲染过程 ? 通常来说,计算机系统中 CPU、GPU、显示器是以上面这种方式协同工作的。...而Core Graphics/Quartz 2D的大部分绘制操作都是主线程和CPU同步完成的,比如自定义UIView的drawRect里用CGContext来画图。

    5.5K100

    iOS动画-CALayer基础知识

    CALayer,而图层树又是形成了UIKit以及我们iOS应用程序所能在屏幕看见一切的基础。...时,其内部会自动创建CALayer图层对象(即UIView的关联图层),UIView调用drawRect:方法进行绘图,并且将所有的内容绘制到自己的图层,绘制完毕后,系统会将图层拷贝到屏幕,于是就完成了...、CGColorRef两种数据类型是定义Core Graphics框架中; QuartzCore框架和CoreGraphics框架可以跨平台使用,iOS和Mac OS都能使用 ,但是UIKit却只能在...Mac OS系统,contents属性对于CGIamge和NSImage类型的值都起作用;而对于iOS平台,虽然UIImage的CGImage属性也返回一个CGImageRef,但如果将这个值直接赋值给...contentCenter (CGRect) 定义一个固定的边框和一个图层可拉伸的区域 三、UIView方法绘制自定义寄宿图 给contents赋值CGImage的值并不是唯一设置寄宿图的方法

    1.9K50

    【团队分享】手机QQ:升级iOS8.3后,发图就崩,为哪般?

    4月9号,苹果开始向iOS用户推送最新系统版本iOS8.3的升级。手机QQ团队第一时间进行系统升级的兼容性验证,发现在图片选择器界面切换标清图和原图时必现闪退现象。...所以,我们开始怀疑是否iOS8.3系统中,是不是所有调用UIAlertView的地方都会发生崩溃但在选择了几个调用UIAlertView的界面进行验证后,发现并没有崩溃发生。...这种情况让我们很是困惑,一番探索后,我们把焦点转移到项目中二次封装的SimpleAlertView,尝试把出现崩溃场景的UIAlertView换成SimpleAlertView,联调测试验证后发现崩溃问题没有再出现...我们工程中搜索UIAlertView的调用,发现竟有500+的调用,分别分布300+的文件中,如果替换的话,其潜在风险和工作量都要仔细考量,而且还需针对不同场景修改UI样式和交互表现,不可取!...系统两者混用,系统新增的检查判断会发现此问题,并抛出异常,崩溃就这样产生了。

    1.2K40

    用这些 iOS 技巧让你的 APP 性能更佳

    如果你尝试使用任何其他自定义子类(例如 UserViewController),Xcode 将提示你禁止使用自定义类名。 ? 启动页 storyboard不能包含非 UIKit 标准类。...多任务屏幕中,我们可以看到已放在后台的应用程序列表。我们可以假设这些应用程序仍在后台运行;实际,由于内存的需求,一些应用程序可能会被系统杀死并重新启动。... storyboard 中将 UIView 设置为不透明(查看大图) 或者我们可以代码中修改 UIView 的 isOpaque 属性: view.isOpaque = true 将视图设置为不透明将使绘图系统渲染屏幕时优化一些绘图性能...另一方面,如果视图设置为不透明,则绘图系统仅会将此视图放在前面,并避免在其后面混合多个视图层的额外工作。... Apple 的 主线程检查器 文章中提及: 「主线程以外的线程更新 UI 是一种常见错误,这可能导致 UI 不更新,视觉缺陷,数据损坏以及崩溃。」

    3.2K30

    iOS常见问题

    1.UIViewiOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的 (Mac下似乎不是这样)。...UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等 等,实际内部都是访问它所包含的CALayer的相关属性。...3.UIView的CALayer类似UIView的子View树形结构,也可以向它的layer添加子layer,来完成某些特殊的表 示。...4.UIView的layer树形系统内部,被系统维护着三份copy(这段理解有点吃不准)。 逻辑树,就是代码里可以操纵的,例如更改layer的属性等等就在这一份。...你自定义的方法不应该调用super。如果你需要对view做一些其他的定制操作,viewDidLoad里面去做。

    64930

    IOS开发基础系列】UIView专题

    如果子类是其他视图的容器那么它不需要重写这个方法。默认的实现不做任何事情。如果你自定义的视图是一个UIView子类,你不需要去调用它的父类实现。...当这个方法被调用,接收者可以假定他的帧坐标上已经转换,边界矩形已经应用;所有他要做的就是绘制自定义的方法。...的绘图操作是UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图...1、若使用UIView绘图,只能在drawRect:方法中获取相应的contextRef并绘图。如果在其他方法中获取将获取到一个invalidate的ref并且不能用于画图。...有关触摸事件响应链的分发,就差不多这么多东西,最重要的是大家可以看那几个touches方法,多做实验,就可以了解的更加深入。

    59130

    iOS面试题-UI篇

    UIView显示屏幕归功于CALayer,通过调用drawRect方法来渲染自身的内容,调节CALayer属性可以调整UIView的外观, UIView继承自UIResponder,比起CALayer...可以响应用户事件,Xcode6之后可以方便的通过视图调试功能查看图层之间的关系 UIViewiOS系统中界面元素的基础,所有的界面元素都继承自它。...UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和坐标有关的属性,如frame,bounds等,实际内部都是访问它所在CALayer的相关属性 UIView有个layer属性,可以返回它的主...补充部分,这部分有深度了,大致了解一下吧,UIView的layer树形系统内部被系统维护着三份copy 逻辑树,就是代码里可以操纵的,例如更改layer的属性等等就在这一份 动画树,这是一个中间层,系统正是在这一层更改属性...loadView用来自定义view,只要实现了这个方法,其他通过xib或storyboard创建的view都不会被加载 看懂控制器view创建的这个图就行 [image] IBOutlet连出来的视图属性为什么可以被设置成

    2K21

    谈谈对drawRect的理解

    写在前面 UIView对于iOS开发来讲,再熟悉不过了。也正是因为这一点,我们可能会忽略UIView一些特有方法的理解和使用。今天,笔者主要整理一下对drawRect方法的理解和使用。...这个是由系统自动调用的,主要是UIViewController中loadView和viewDidLoad方法调用之后; 如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用...; 该方法调用sizeThatFits后被调用,所以可以先调用sizeToFit计算出size,然后系统自动调用drawRect:方法; 通过设置contentMode属性值为UIViewContentModeRedraw...若子类继承自其他View类则需要调用super方法以实现重绘。 若使用UIView绘图,只能在drawRect:方法中获取绘制视图的contextRef。...方法用于实现自定义绘图

    1.7K20

    Objective—C语言的新魅力——Nullability、泛型集合与类型延拓

    Objective—C语言的新魅力 一、引言         Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能。...OC中,以前是没有这样的功能的,因此我们开发中会经常遇到因为某个函数应该返回实例而返回了空导致的崩溃。...注意: 这一特性Xcode6.3中就已经支持,但在Xcode7中又做了一些写法的小改动,例如,Xcode6.3中这样写: -(void)setValue:( nonnull NSNumber *  ...:set方法可以为nil,get方法不可返回nil 一点提示: 你可以发现,iOS9的SDK中已经完全兼容使用了这些特性,并且nonnull的使用会比nullable广泛的多,因此,系统提供了这样一对宏...2、关于一个类型通配符         观察Xcode7中iOS系统的类,我们可以发现这么一个好玩的东西:ObjectType。

    1K30

    iOS开发——Core Graphics绘图

    我们搭建UI界面时,有很多时候,我们会用到iOS自带的绘图功能来完成一些界面的效果,很常用也很方便。今天我们在这里就一起讨论一下iOS绘图功能。...CoreGraphics也称为Quartz 2D 是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。Core Graphics是高度集成于UIView其他UIKit部分的。...绘图就好比画布拿着画笔机械的进行画画,通过制定不同的参数来进行不同的绘制。...iOS常见的图形绘制 画线 画圆、圆弧、贝塞尔曲线 画矩形、椭圆形、多边形 绘制图片 绘制文字 ---- iOS绘图基础 绘图之前,我们先来了解一下几个基本的概念 context:上下文,ios绘图的方法都需要传一个上下文...context,这个context重写uiview的drawRect的方法里调用UIGraphicsGetCurrentContext()获取 path:路径,ios绘图可以想象为你拿着一支笔去画图,

    2.5K20

    CALayer 图层概念二、CALayer属性二、方法

    UIView负责监听和相应事件.UIView是更高层的封装 iOS 中,你能看得见,摸得着的东西基本都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView...,其实UIView之所以能显示屏幕,完全是因为它内部的一个图层,创建UIView对象时, UIView内部会自动创建一个图层 (即CALayer对象), 通过UIView的layer属性即可访问这个图层....当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制自己的图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了UIView得显示.换句话说,UIView...其次 : QuartzCore框架和CoreGraphics框架是可以跨平台使用的,iOS和Mac OS X都能使用 (C语言编写) 但是UIKit只能在iOS中使用 (OC编写)....用来接收和处理系统事件,触摸事件.如果不需要跟用户进行交互,用UIView或者CALayer都可以.当然,CALayer的性能会高一些,因为它少了事件处理的功能,更加轻量级 ---- 二、CALayer

    1.4K70

    iOS技术面试题及答案

    实际你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。当一个UIView需要执行绘制操作时,drawRect:方法就会被调用,覆盖此方法让你获得绘图操作的机会。...好处: 1.使用多线程可以把程序中占据时间长的任务放到后台去处理,如图片,视频的下载; 2.发挥多核处理器的优势,并发执行让系统运行的更快,更流畅,用户体验更好; 缺点: 1.大量的线程降低代码的可读性...ios有3种多线程编程的技术:1.NSThread,2.NSOperationQueue,3.gcd; 五、XMPP工作原理;xmpp系统特点 原理: 1.所有从一个client到另一个client的jabber...十、生成二维码的步骤 1.使用CIFilter滤镜类生成二维码 2.对生成的二维码进行加工,使其更清晰 3.自定义二维码背景色、填充色 4.自定义定位角标 5.二维码中心插入小图片 总结 以上就是这篇文章的全部内容了...,希望本文的内容对各位iOS开发者们面试的时候能有所帮助。

    85501

    iOS学习——Quartz2D学习(1)

    他是一个二维的绘图引擎,同时支持iOS和Mac系统 2、Quartz2D能完成的工作   画基本线条,绘制文字,图片,截图,自定义UIView. 3、Quartz2D开发中的价值   当我们的控件样式极其复杂时...,可以把控件内部的结构给画出画,就是自定义控件. 4、什么是图形上下文 图形上下文是用来保存用户绘制的内容状态,并决定绘制到哪个地方的....UIView之所以能够显示就是因为他内部有一个图层) Printer Graphics Context 6.如何自定义UIView,步骤是什么? ...CGContextStrokePath(ctx); 9、 想要再添加一根线怎么办? 第一种方法:重新设置起点,添加一根线到某个点,一个UIBezierPath路径上面可以有多条线....调用这些方法之前,我们要进行一些其他的任务去确保正确的绘制path,以及path的设置。 使用UIColor类的方法去stroke和fill想要的颜色。

    1.1K20

    iOS面试题:UIWindow,UIView,CALayer的区别

    iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow,于是控制器的view就显示屏幕上了 主要作用是提供一个区域用来显示...UIResponder : NSObject 继承自UIResponder,间接继承自NSObject,主要是用来构建用户界面的,并且可以响应事件...之所以能显示屏幕,主要是它内部有一个CALayer对象。...创建UIView时,它内部会自动创建一个图层,当UIView需要显示屏幕的时候,会调用drawRect:方法进行绘图,并且会将所有内容绘制到自己的图层绘图完毕后,系统会将图层拷贝到屏幕,这样完成...layer给view提供了基础设施,使得绘制内容和呈现更高效动画更容易、更低耗 layer不参与view的事件处理、不参与响应链 *** 更多:iOS面试题合集

    81230

    微信团队分享:详解iOS版微信视频号直播中因帧率异常导致的功耗问题

    如下图所示 PerfDog 数据显示 13 pro max直播点赞期间 FPS 直奔120: 正常情况下,视频号直播里大部分主播开播流基本都是30fps 以内,也就是正常情况下我们只需要维持30fps...比如我们要实现自定义的 UIScrollView 动画,就可以基于 CADisplayLink 来做。...基于以上研究,理论我们可以尝试调用私有 api 来全局控制 CADisplay 的刷新率,来进一步降低性能占用,但是由于 Render Server 是在其他进程,我们还是无法控制 Render Server...,帧率同比下降16%而 GPU 同比下降了26%~38%(主场景和其他场景)。...9、本文小结 本文不影响现有用户体验和业务逻辑的情况下,通过扩展系统接口的能力与实验调试分析,最终实现了一套 UI 动画的帧率调节方案。

    42500

    2019年11月2日:总结iOS技术面试题及应对答案

    随着移动互联网技术的不断发展和创新,访谈对于公司和开发人员和设计师来说都是费时且昂贵的项目,面对iOS开发者和设计师访谈过程中可能遇到的问题,现在为大家总结iOS技术面试题及应对答案。...一、如何绘制UIView? 绘制一个UIView最灵活的方法就是由它自己完成绘制。实际你不是绘制一个UIView,而是子类化一个UIView并赋予绘制自己的能力。...当一个UIView需要执行绘制操作时,drawRect:方法就会被调用,覆盖此方法让你获得绘图操作的机会。...ios有3种多线程编程的技术:1.NSThread,2.NSOperationQueue,3.gcd; 五、XMPP工作原理;xmpp系统特点 原理: 1.所有从一个client到另一个client的jabber...十、生成二维码的步骤 1.使用CIFilter滤镜类生成二维码 2.对生成的二维码进行加工,使其更清晰 3.自定义二维码背景色、填充色 4.自定义定位角标 5.二维码中心插入小图片 十一、使用XMPP

    84400
    领券