初学iphone问题:画一个矩形。我究竟做错了什么?

2023-12-22

试图找出我在这里做错了什么。已经尝试了几种方法,但我从未在屏幕上看到那个难以捉摸的矩形。现在,这就是我想做的一切——只需在屏幕上绘制一个矩形。

除了 CGContextSetRGBFillColor() 之外,我在所有内容上都收到“无效上下文”。之后获取上下文对我来说似乎有点错误,但我不在家查看昨晚使用的示例。

我是否也搞砸了其他事情?我真的很想今晚至少完成这么多......

- (id)initWithCoder:(NSCoder *)coder
{
  CGRect myRect;
  CGPoint myPoint;
  CGSize    mySize;
  CGContextRef context;

  if((self = [super initWithCoder:coder])) {
    NSLog(@"1");
    currentColor = [UIColor redColor];
    myPoint.x = (CGFloat)100;
    myPoint.y = (CGFloat)100;
    mySize.width = (CGFloat)50;
    mySize.height = (CGFloat)50;
    NSLog(@"2");
    // UIGraphicsPushContext (context);
    NSLog(@"3");
    CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);
    context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, currentColor.CGColor);
    CGContextAddRect(context, myRect);
    CGContextFillRect(context, myRect);
  }

  return self;

}

Thanks,

Sean.


从基于视图的模板开始,创建一个名为Drawer。将 UIView 类添加到您的项目中。命名它方视(.h 和 .m)。

双击DrawerViewController.xib打开它界面生成器。将那里的通用视图更改为方视在身份检查器(command-4)中使用Class弹出菜单。保存并返回Xcode.

将此代码放入您的drawRect:方法中SquareView.m文件来绘制一个大的、弯曲的、空的黄色矩形和一个小的、绿色的透明正方形:

- (void)drawRect:(CGRect)rect;
{   
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(context, 1.0, 1.0, 0.0, 1.0); // yellow line

    CGContextBeginPath(context);

    CGContextMoveToPoint(context, 50.0, 50.0); //start point
    CGContextAddLineToPoint(context, 250.0, 100.0);
    CGContextAddLineToPoint(context, 250.0, 350.0);
    CGContextAddLineToPoint(context, 50.0, 350.0); // end path

    CGContextClosePath(context); // close path

    CGContextSetLineWidth(context, 8.0); // this is set from now on until you explicitly change it

    CGContextStrokePath(context); // do actual stroking

    CGContextSetRGBFillColor(context, 0.0, 1.0, 0.0, 0.5); // green color, half transparent
    CGContextFillRect(context, CGRectMake(20.0, 250.0, 128.0, 128.0)); // a square at the bottom left-hand corner
}

您不必调用此方法来进行绘图。当程序启动并且 NIB 文件被激活时,视图控制器将告诉视图至少绘制一次自身。

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

初学iphone问题:画一个矩形。我究竟做错了什么? 的相关文章

  • MPMediaItemPropertyPercientID 的 NSNumber 到 NSString 并再次返回

    我使用以下代码循环播放 iPhone 音乐库中的所有歌曲 NSArray songs NSArray alloc initWithArray MPMediaQuery songsQuery collections for MPMediaIt
  • UIPageViewController:获取当前页面

    在过去的几天里 我一直在努力解决这个问题 经过所有这些杂耍 我发现我所需要的只是数据源方法中的当前索引 以使用当前可见页码进行更新 我有这个UIPageViewController数据源方法 我需要使用当前索引来获取委托方法的当前可见页面p
  • 当视图控制器被带到视图堆栈的顶部时,如何让它运行更新代码?

    我有一个 viewController Planner 它在应用程序启动时加载两个视图控制器 InfoEditor 和 MonthlyPlan MonthlyPlan 隐藏在 InfoEditor 后面 加载时 所以我的问题是 当我将 In
  • Monotouch如何管理资源(字符串、图像等)?

    在 Android 中 我将应用程序字符串放入名为的文件中strings xml 例如 对于意大利语翻译 我需要创建一个 value it 文件夹并放入strings xml在此新文件夹中包含带有意大利语标签的文件 Monotouch 如何
  • 从 iPhone 上传图像/音频到服务器无法发送大图像

    我不知道这是我的iPhone代码还是服务器的问题 我正在使用 NSURLConnection 将图像 音频从 iPhone 上传到服务器 如果图像和音频的大小小于 60KB 则可以正常上传 如果超过 60KB 我会从服务器收到 400 Ba
  • 保留“自我”的坏做法?

    我有一个简单的疑问 希望有人能解答 保留自我是不好的做法吗 我有一个想要创建的服务器请求对象 我希望能够通过以下方式使用它 ARequest request ARequest request someParam request delega
  • iPhone 存储图像的最佳方式

    我正在开发一个应用程序 需要缓存一些来自网络的图像 图像可能是 100x100 我只需要知道哪个更好 将图像作为文件存储在 iPhone 文件系统中 将它们作为 blob 与已保存在数据库中的其他数据一起存储在 sqlite 数据库中 感谢
  • 使用NSString的drawAtPoint方法代替CGContextShowGlyphsAtPoint问题

    在我的应用程序中 我试图沿着路径渲染文本 这对于大多数字符来说都很好 但对于日语 或任何非 Mac Roman 就不行了 建议我使用 NSString drawAtPoint 它在我的 CATiledLayer 中显示正确的字符 然而 它们
  • 重用 NSURLConnection 实例

    我正在 iPhone 上使用 NSURLConnection 实例从服务器请求数据 该服务器像往常一样由委托管理 这些请求非常频繁 也许每 2 分钟一次 并且有一个共同且固定的 URL 而不是看到每次下载后释放 NSURLConnectio
  • 如何在 iPhone 中以编程方式访问保存的图像中的图像而不使用 UIimagePickerController?

    我知道如何让用户从 UIImagePickerController 选择图像 但我不想要那样 我只想将 NSArray 图像存储在手机中 但我不想让用户参与 选择一个然后拥有该图像 相反 我创建了自己的自定义图像选择器控制器并希望有画廊作为
  • iPhone/iPad 应用程序介绍

    我的应用程序的 iPhone 版本支持UIDeviceOrientationPortraitUpsideDown and UIDeviceOrientationPortrait 但 iPad 版本支持所有方向 在我的视图控制器中我有这个 B
  • UITableView 中的 iPhone 动态 UIButton

    我正在为每个单元格行创建一个按钮UITableView 该按钮充当将所选行添加为 收藏夹 的开关NSUserDefaults 我的问题是 每当我按下此按钮时 就会在旧按钮之上绘制一个新按钮 我如何正确释放 重用它 这就是我的cellForR
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • cllocation 和 mkreversegeocoder

    我尝试使用 cllocation 和 mkreversegeocoder 检索城市名称 在我的 viewdidload 方法中 我是 cllocationmanager self locManager CLLocationManager a
  • AudioQueueNewInput 回调延迟

    无论我提供的缓冲区大小如何 提供给 AudioQueueNewInput 的回调都会以大致相同的时间间隔发生 例如 如果您有 0 05 秒的缓冲区并以 44k 录制 则回调将在大约 0 09 秒时首次调用 然后在 0 001 秒 之后立即发
  • iPhone 操作系统测试最佳实践

    不久前 iPhone 的开发还相当简单 只有几个操作系统版本 甚至更少的设备 然而现在 有 2 个主要操作系统版本和 5 种不同的设备需要考虑 作为一家即将发布多个应用程序的公司 测试已成为越来越重要的问题 测试所有组合的最佳方法是什么 我
  • 如何开发iPhone MDM服务器?

    我刚刚阅读了有关适用于 iOS 设备的移动设备管理服务器的信息 但所有文档均指 第三方 MDM 服务器 我的问题是如何自己开发一个 第三方 MDM 服务器 我找不到任何关于此的文档 你有简单的方法和困难的方法 Easy way OSX Li
  • 当应用程序从 iPhone 后台出现时,会调用什么方法?

    我知道当 iphone 应用程序进入后台时 会调用这些方法 void applicationDidEnterBackground UIApplication application void applicationWillResignAct
  • UIControlEventTouchDragEnter 似乎不适用于捕获滑入控件的点击

    如果手指从外部拖动到控件的边界内 我想允许调用一个方法 我以为 UIControlEventTouchDragEnter 会做到这一点 但似乎并没有 有谁知道是否有一种方法可以根据点击滑入控件来触发操作 这就是我正在尝试的 但没有接到我的
  • iOS HTTP 请求在后台运行

    当应用程序处于后台时 可以向 PHP 服务器发出 HTTP 异步请求吗 该应用程序是基于位置的应用程序 应收集当前位置并每 5 或其他值 分钟将坐标发送到服务器 即使应用程序处于后台 我也可以将 http 帖子发送到服务器吗 我读到了很多关

随机推荐

  • 控制 eGit 对符号链接的处理

    我正在建立一个项目 该项目将在我的组织中的几个程序员之间共享 我们正在使用 git 我是个新手 项目目录包含指向不应受版本控制的文档目录的符号链接 我想将版本控制下的符号链接维护为符号链接 而不是取消引用它们并将符号链接目录的所有内容置于版
  • 如何使用 Java 8 将方法传递给注释? [复制]

    这个问题在这里已经有答案了 我想将方法 传递给注释 这样的事情可能吗 MyAnnotation method MyClass myMethod private String myVariable 传递方法不是一种选择 相反 传递以下内容应该
  • jquery 中 $.each 内的appendTo()似乎会导致闪烁

    当appendTo 在 each里面时会导致闪烁 each jsob Table function i employee div class resultsdiv br span class resultName employee Emp
  • 在哪里可以找到“收缩期间发现警告”的警告?

    将 RxAndroid 和 Retrofit 库添加到我的 gradle 并编译后 我收到以下错误 显示在我的 Android Studio 消息面板中 Error Execution failed for task app transfo
  • Discord.py Bot 如何播放本地文件中的音频

    基本上就是标题 我已经安装了 ffmpeg 和discord py audio 我只需要了解它是如何工作的 找不到任何本地音频文件的教程 我无法理解文档中的任何内容 这是播放本地音频文件的功能 我在使用 FFmpeg 时遇到问题 因此我对
  • 选择过去 30 天的所有订单,并计算每天的数量

    我正在尝试选择过去 30 天内的所有订单来自一位客户 所以我需要 customer id customer id 和计算我每天有多少订单对于那一位客户 我需要得到这样的数组 Array 1 gt Array orders gt 41 dat
  • ref、toRef 和 toRefs 之间有什么区别

    我刚刚开始使用 Vue 3 和 Composition API 我想知道两者之间有什么区别ref toRef and toRefs Vue 3 ref A ref https v3 vuejs org api refs api html r
  • 如何正确使用 ASP.NET Core 共享框架或如何单独使用其程序集?

    情况 在我们的应用程序中 我们有一个WPF客户端 and an ASP NET Core 服务器 两者都使用 NET 5 我们将所有 DLL 存储在server和client当用户登录时从服务器下载所有必需的 DLL 最初 client独立
  • 在 Post 请求上触发 Socket

    尝试在 POST 请求上发出消息 收到错误消息 无法读取属性 emit未定义的 app post webhook orders updated function req res next io socket emit order Order
  • 在 Azure Devops 上的 cURL 请求中使用环境变量

    我正在尝试使用 Azure DevOps 上的 cURL 通过命令行任务将 zip 文件上传到 Netlify 显然我不想在 yaml 文件中包含 Netlify 访问令牌 因此我为它创建了一个秘密变量 使用 UI 设计器 并使用 然而我不
  • 为什么创建了很多spark-warehouse文件夹?

    我在ubuntu上安装了hadoop 2 8 1 然后在其上安装了spark 2 2 0 bin hadoop2 7 我使用 Spark shell 并创建了表格 我再次使用直线并创建了表格 我观察到创建了三个不同的文件夹 名为spark
  • 共享文件而不将其保存在外部存储上

    我使用以下代码允许用户共享位图 try File save dir Environment getExternalStorageDirectory FileOutputStream out new FileOutputStream save
  • 在 Word 中获取本地化/未本地化的样式名称 (VSTO)

    我有一个单词插件 需要帮助处理样式名称 我使用 get Style NameLocal 获得段落样式 这将返回本地化名称 具体取决于 Office 运行所用的语言 只要有内置样式 我就找到了一种方法来获取本地名称 方法是将 wdBuiltI
  • 在构造函数中初始化虚拟属性是否错误? [复制]

    这个问题在这里已经有答案了 在构造函数中初始化虚拟属性是否错误 它只是感觉不对 因为如果您重写派生类中的属性 该属性将首先使用基类构造函数中的值进行初始化 然后由派生类构造函数再次对其进行赋值 有没有其他方法可以做到这一点 我正在谈论这样的
  • php imagick setGravity 函数不适用于compositeImage() 函数

    我正在为一个项目使用 php Imagick 类 我尝试合成一个图像 改变图像的重力 我的意思是 我想将目标图像合成到中间或顶部中心 I use imageOrg gt setGravity imagick GRAVITY CENTER I
  • kafka + 如何避免磁盘存储空间不足

    我想描述我们的一个生产集群上的以下案例 我们有 HDP 版本 2 6 4 的 ambari 集群 集群包括 3 台 kafka 机器 每个 kafka 都有 5 T 的磁盘 我们看到的是所有kafka磁盘的大小都是100 所以kafka磁盘
  • R:分配数据框列的变量标签

    我正在努力处理 data frame 列的变量标签 假设我有以下数据框 更大数据框的一部分 data lt data frame age c 21 30 25 41 29 33 sex factor c 1 2 1 2 1 2 labels
  • memset bool 为 0 安全吗?

    假设我有一些legacy无法更改的代码 除非bug被发现 它包含以下代码 bool data 32 memset data 0 sizeof data 这是设置所有内容的安全方法吗bool在数组中到false value 更一般地说 安全吗
  • 从泛型类实现的接口调用泛型类中的泛型属性

    我有一个具有一个类型参数 T 的泛型类 我需要存储这些不同类型的通用对象的集合 因此我创建了一个通用类按照建议实现的接口here https stackoverflow com questions 754341 adding generic
  • 初学iphone问题:画一个矩形。我究竟做错了什么?

    试图找出我在这里做错了什么 已经尝试了几种方法 但我从未在屏幕上看到那个难以捉摸的矩形 现在 这就是我想做的一切 只需在屏幕上绘制一个矩形 除了 CGContextSetRGBFillColor 之外 我在所有内容上都收到 无效上下文 之后