iPhone Core Graphics 子视图的粗虚线

2024-05-31

我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect。该视图还包含一个子视图,该子视图也绘制一条线。然而,虽然两个视图都使用几乎相同的代码(至少出于测试目的),但在它们上绘制的线看起来并不相同:

正如你所看到的 - 顶部的虚线明显比底部的虚线粗,我不知道为什么。下面是两人使用的代码UIViews在他们的drawRect方法。如果您知道为什么会发生这种情况,那么我将非常感谢您的帮助和建议!

第一个视图:

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] CGColor]);

CGFloat dashes[] = {1,1};

CGContextSetLineDash(context, 0.0, dashes, 2);
CGContextSetLineWidth(context, 0.6);

CGContextMoveToPoint(context, CGRectGetMinX(rect), CGRectGetMaxY(rect));
CGContextAddLineToPoint(context, CGRectGetMaxX(rect), CGRectGetMaxY(rect));

CGContextStrokePath(context);

SubUIView *view = [[SubUIView alloc] initWithFrame:rect];
[self addSubview:view];
[view release];

该视图肯定只被绘制一次。我很欣赏drawRect可能不是添加子视图的最佳位置,但即使将其添加到主视图中,问题仍然存在initWithFrame method.

第二个视图:

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] CGColor]);

CGFloat dashes[] = {1,1};

CGContextSetLineDash(context, 0.0, dashes, 2);
CGContextSetLineWidth(context, 0.6);

CGContextMoveToPoint(context, CGRectGetMinX(rect), CGRectGetMidY(rect));
CGContextAddLineToPoint(context, CGRectGetMaxX(rect), CGRectGetMidY(rect));

CGContextStrokePath(context);

如果您的矩形不落在整数上,这可能是抗锯齿的结果。您可以禁用抗锯齿功能CGContextSetShouldAntialias( context, NO )。我认为还有一个用于进行矩形积分的函数,但我不记得它是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone Core Graphics 子视图的粗虚线 的相关文章

  • 第二次触摸动画

    尝试掌握 Xcode 并且在过去几周似乎取得了一些进展 有谁知道自定义按钮可以在第二次单击时执行一组不同的动画的方法 假设我有一个自定义按钮 它是马里奥的 当我单击它时 他从屏幕中间跑出屏幕右侧 然后从屏幕左侧跑回中间 他也会发出噪音 我使
  • iPhone/iPod 模拟器和设备之间的差异

    自从我开始 iPhone iPod 开发以来 我发现模拟器和真实设备的反应之间存在一些差异 也许我会遇到一些其他差异 我也必须弄清楚 也许其他人还没有在这里遇到这些问题 并且可以从知识中受益 也许你知道一些你本来会遇到的问题 差异很高兴在您
  • 将 NSString 分成行(以适合所需的宽度)

    我正在尝试将 NSString 分成几行以适合所需的宽度 因为它会发生在内部 sizeWithFont constrainedToSize 有没有比猜测中断发生在哪里更好的方法呢 sizeWithFont If NSLayoutManage
  • 其他用户之间的 iCloud 共享 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 据我所知 iCloud 就像个人存储 您可以使用自己的 Apple ID 我想问的是 用户是否可以存储例如图像并与其他用户共享 这意味着类
  • iOS:从相机获取逐像素数据

    我知道 AVFoundation 及其捕获支持 虽然不太熟悉 但是 我没有看到任何易于访问的 API 来获取逐像素数据 每像素 RGB 或类似数据 我确实记得在文档中读过这是可能的 但我真的不明白如何做到 所以 这可以做到吗 如果是这样 怎
  • 使用 iPhone 上传视频

    可以将视频上传到服务器吗 我知道图像是可能的 如果有人能指出我正确的方向 那就太好了 Thanks 2015 年 8 月编辑 这个答案现在已经严重过时了 在撰写本文时 选项并不多 而且视频的大小也相对较小 如果您现在正在考虑这样做 我会使用
  • 核心动画的鱼眼效果?

    我正在尝试实现类似于 ABC News iPad 应用程序的地球仪的效果 是不是可以通过改造CALayers来得到这个效果呢 或者这是使用 OpenGL 和片段 顶点着色器 CALayer 提供对变换矩阵的访问 是否有一些数学可以应用于此而
  • 如何从 iPhone 应用程序中的 URL 读取 .rtf 文件

    我的应用程序需要从 URL 读取 rtf 文件 我将把它读为 NSURL url NSURL URLWithString NSString stringWithFormat rtf URL NSError error NSString co
  • 如何使用 cocos2d 在 iphone 应用程序中使用 MYSQL 数据库连接?

    我正在做一个项目 我需要连接MYSQL数据库 我在我的项目中成功连接SQLite 使用cocos2d 但是我无法在我的项目中连接MYSQL数据库 我任何人都喜欢这个而不是帮助我如何连接 给我必要的信息 您将无法直接从 iPhone 连接到
  • 在 ARC 中异步生成 CGImagesForTimes

    如果我在启用了 ARC 的项目中运行以下命令 则完成处理程序永远不会触发 但如果没有 ARC 它会按预期工作 我在这里缺少什么 NSURL url NSURL URLWithString http media w3 org 2010 05
  • 有没有办法使用 openURL 将 pin 放入 google 地图 iphone 应用程序中?

    我想创建一个 iPhone 应用程序 可以打开谷歌地图应用程序并在地图上放置图钉 我有图钉的确切位置 由其经度和纬度指定 我还有一个引脚名称 例如 位置 1 应与图钉一起显示 我知道 UIApplication openURL 可用于此目的
  • 如何为带有标题图像的移动设备设置 HTML,该图像占据浏览器的整个宽度?

    我担心的是我必须为移动设备建立一个网站 概念中是将图像设置为标题 现在的问题是 不同的智能手机具有不同的显示分辨率 有例如840x560 480x320 或 800x480 我必须编写什么元标签 CSS 等才能使 每个 现代智能手机中的图像
  • 如何在 iOS 上的视图之间进行展开/收缩转换?

    我正在尝试在 iOS 中制作过渡动画 其中视图或视图控制器似乎扩展以填充整个屏幕 然后在完成后收缩回原来的位置 我不确定这种类型的转换的正式名称是什么 但您可以在 iPad 版 YouTube 应用中查看示例 当您点击网格上的搜索结果缩略图
  • 从 xib 中提取 UI 项目?

    经过一番浏览文档后 我决定使用以下技术 使用 viewWithTag 从 loadNibNamed owner options 返回的主根视图中提取子视图 首先 我有点困惑 因为我假设 loadNibNamed owner options
  • 当点击 UITableViewCell 的子视图时引发选择事件 (didSelectRowAtIndexPath)

    我创建了一个自定义 UITableViewCell 其中包含许多子视图 在大多数情况下 我希望 UITableViewCell 的控制器来处理事件 在一种情况下 我希望子视图简单地将事件传递给父 UITableViewCell 这将导致它在
  • UIAlertView 中的 MPVolumeView?

    是否可以将 MPVolumeView 放入 UIAlertView 中 我已经尝试过put它在里面 但不显示 这可能是sizeToFit or initWithFrame 部分 有没有办法测试是否MPVolumeView实际上正在被创建吗
  • 无限 UIScrollView 在 iOS4.3 中出现奇怪的行为,而不是 iOS5

    我已经实现了一个包含 UIView 的无限 UIScrollView 在 iOS5 模拟器和 iPhone 中滚动时 效果非常好 但在 iOS 4 3 sim 和手机 中 情况有点疯狂 滚动条传递的视图比应有的多 大约比 iOS5 多 10
  • 无法下载应用程序 - 此时无法下载“APP”

    我的应用程序有 PLUS 版本和常规版本 我使用不同的目标对它们进行存档 我将 ipa 上传到 TestFlight 也上传到我的曲棍球服务器 PLUS 版本总是下载得很好 但普通版本总是给我 无法下载应用程序 错误 我根本没有更改两个版本
  • iPhone PhoneGap 电子邮件编辑器 SECURITY_ERR:DOM 异常 18 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在使用phonegap 中的 i
  • 拦截传入短信

    我想知道拦截短信的选项有哪些 我希望能够在收到短信时启动一些代码来处理短信 任何关于这在技术上是否可行以及如果有不止一种方法我有什么选择的建议 将不胜感激 谢谢 保罗 由于您有如此多的标签 因此很难判断您实际上是为哪个操作系统开发的 在 i

随机推荐

  • 地形/山地算法未按预期工作

    我想使用一个非常基本的原理创建一个上面有山的地形 如以下高度图所示 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0
  • 跨配方访问属性

    是否可以配置可跨配方访问的属性 如果是 怎么办 我已经为每个配方配置了属性 但我想消除大量重复 Chef 的工作方式是 在收敛开始时 Chef 会迭代所有具有将在节点上运行的食谱的食谱 直接在运行列表上或通过引用 include recip
  • 如何在 Spark 数据帧 groupBy 中执行 count(*)

    我的目的是做相当于基本sql的事情 select shipgrp shipstatus count cnt from shipstatus group by shipgrp shipstatus 我见过的 Spark 数据帧的示例包括其他列
  • 为什么 Rails 3 与 Mysql2 Gem ActiveRecord::Base.connection.execute(sql) 返回数组而不是哈希?

    我正在将应用程序升级到 Rails 3 我决定使用 mysql2 gem 应用程序中有一些遗留代码可以进行如下调用 results ActiveRecord Base connection execute sql 在2 3 x版本中 它使用
  • 为什么 Python 中不允许使用单一类型约束?

    假设您想约束一个类型变量来实现某个接口 你可能会这样写 from typing import TypeVar Callable T TypeVar T Callable class Foo Generic T gt gt TypeError
  • 如何在日历中选择多个日期并将其显示在标签中

    假设我有日历 并且我想选择多个日期并在标签中显示 我使用了以下代码 但它无法正常工作 请更正 lblMultipleDate Text Calendar1 SelectedDates 0 ToShortDateString Label2 T
  • 其他人可以使用相同的包名称前缀吗?

    我正在考虑采用包名称 com mangoapps appname 但我的问题是 其他人也可以使用前缀 com mangoapps 吗 由于我想创建一系列应用程序 因此我需要一个唯一的前缀 com mangoapps 还有一个问题 我如何知道
  • 是否可以在 Promise.all 稍后向数组添加 Promise?

    我正在做一个项目 我问自己启动这个项目是否可行Promise all在 Javascript 中 他们确实向数组添加了更多 Promise 的任务 以及它们是否也在运行 const runAsyncFunctions async gt co
  • 与 Enum 类型混淆

    为什么当我定义枚举时 我向它传递了一个字段名称列表 然后不知何故这些字段名称 例如 Days MONDAY 最终引用了字段values 我可以传递一个字段 例如 Days MONDAY 然后使用开关来获取字段值 更奇怪的是 当我声明枚举字段
  • 将字节数组编码解码为字符串而不丢失数据

    我尝试将 byte 转换为字符串 如下所示 Map
  • 使用 pip3 安装 mysqlclient 时遇到问题

    我正在尝试使用 Django 设置 python 3 6 环境 安装说明说我应该安装 mysqlclient 才能连接到 mySQL 我明白了 dennis django sudo H pip3 install mysqlclient Co
  • 在 JMapViewer 中绘制折线 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Java 中的 OpenStreetMap 和 JMapViewer 进行工作 我可以使用JMapViewer绘制多边形和矩形
  • 32位进程在64位操作系统上可以访问多少内存?

    在 Windows 上 正常情况下 32 位进程只能访问 2GB RAM 或通过 boot ini 文件中的特殊开关访问 3GB 在 64 位操作系统上运行 32 位进程时 有多少可用内存 是否有任何特殊的开关或设置可以改变这种情况 默认
  • 为什么这个 XHTML 表单无法验证?

    任何想法为什么这不会在这里验证 http validator w3 org validate by input http validator w3 org validate by input 表单输入标签似乎是错误的 但通读 XHTML 规
  • 任务.wait 和 continueWIth

    我有一个如下的任务 var task Task
  • 应用商店之外的应用内购买

    我正在为某个博物馆制作一个应用程序 应用程序的某些部分应仅限于购买印有代码的门票的游客 此代码可用于访问应用程序的受限部分 这是苹果可以拒绝的吗 苹果不可能拒绝你的应用程序 它改变了 iOS 开发者协议的严格准则 允许在 App Store
  • 32 位应用程序在 64 位操作系统上运行得更快还是更慢? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 JavaScript 从文本框控件中获取选定的文本

    我有一个文本框和一个链接按钮 当我编写一些文本 选择其中一些文本 然后单击链接按钮时 从文本框中选择的文本必须显示在消息框中 我该怎么做 当我单击下面文本框的提交按钮时 消息框必须显示洛雷姆 伊普苏姆 因为在区域中选择了 Lorem ips
  • 在 SSLwrapp() 之前在原始套接字上接收/发送,Python

    我想知道在包装原始套接字之前是否可以在原始套接字上接收 发送数据 我已经查看了文档并搜索了它 但找不到任何具体内容 我基本上想做的事情 client addr listeningSocket accept client recv 32 cl
  • iPhone Core Graphics 子视图的粗虚线

    我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect 该视图还包含一个子视图 该子视图也绘制一条线 然而 虽然两个视图都使用几乎相同的代码 至少出于测试目的 但在它们上绘制的线看起来并不相同 正如