Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 尝试创建一个用蓝色UIImage对象填充的矩形_Iphone_Objective C_Cocoa Touch_Uikit_Uiimageview - Fatal编程技术网

Iphone 尝试创建一个用蓝色UIImage对象填充的矩形

Iphone 尝试创建一个用蓝色UIImage对象填充的矩形,iphone,objective-c,cocoa-touch,uikit,uiimageview,Iphone,Objective C,Cocoa Touch,Uikit,Uiimageview,我想创建一个蓝色矩形图像并在我的视图中查看它,但此代码似乎不起作用: CGRect imageRect = CGRectMake(50, 50, 64, 40); UIGraphicsBeginImageContext(imageRect.size); [[UIColor blueColor] set]; UIRectFill(imageRect); UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext();

我想创建一个蓝色矩形图像并在我的视图中查看它,但此代码似乎不起作用:

  CGRect imageRect = CGRectMake(50, 50, 64, 40);
  UIGraphicsBeginImageContext(imageRect.size);
  [[UIColor blueColor] set];
  UIRectFill(imageRect);
  UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  UIImageView *myImageView = [[UIImageView alloc] initWithImage:aImage];
  [self.view addSubview:myImageView]; 
有人能帮我修一下吗

谢谢


你的背景是64点乘40点。在40点高的上下文中,从原点开始填充50点的矩形。这使得它超出了范围,并且您在上下文范围之外绘制的任何内容都不会显示

将矩形的原点设置为0,0,这是上下文的原点。然后,64×40点矩形将完全在64×40点上下文的范围内

如果确实要在上下文原点的下方和右侧绘制50个点的矩形,则需要使上下文的大小至少足够大,以容纳该边距加上矩形的大小。如果您还希望在其他尺寸上具有相同的边距,则上下文的大小应为矩形的大小加上100点宽x 100点高(每个轴上矩形的每侧各50点)