草庐IT

ios - 为什么 iOS 中的某些库是由基于 C 的 API 提供的?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion为什么iOS中的一些库提供了基于C的API?例如,CoreGraphics库由基于C的API提供。但是,我无法理解Apple这样做的原因。另外,[[UIColorred]setStroke]就是drawRect:中的那种代码,也让我很困惑!如果Apple决定使用基于C的API,他们为什么要使用面向对象风格的代码来处理图形方面的事情?例如,CGContextAddLineToPoint()接

ios - 如何连续改变每个节拍音乐的单个方 block 颜色以在 iPhone 中制作可视化工具?

我想为我的音乐播放器做一个可视化。所以我画了一个GridView,我想随机或连续地改变每个方block的颜色。我的绘制网格代码-(void)drawRect:(CGRect)rectfor(inti=0;i它看起来像 最佳答案 在我看来,您过于复杂化了自己,限制了future的可能性。如果我是你,我会将UIView或UIImageView的网格放置在一个数组中。(您可以通过编程方式或通过IB来完成)。(可以通过修改View层的border属性来添加边线)然后您可以通过独立设置它们的背景颜色、颜色均匀度、颜色几率、随机所有您想要的任何

objective-c - iOS:addObserver 和 superview 查询

我有一个名为subview1的uiview。根据某些情况,我将其作为subview添加到其他几个View中。现在我有以下代码[subView1addObserver:selfforKeyPath:@"superview"options:NSKeyValueObservingOptionNewcontext:nil];我的问题是从未调用过obserValueForKeypath函数-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(v

iphone - CoreText 渲染文本故障

我正在开发一款新应用。我使用CoreText从NSAttributedString呈现不同的文档。我在文本呈现中遇到奇怪的故障。并非每个文档都会发生这种情况。它何时出现与不出现似乎没有规律可循。这里是一个裁剪的屏幕截图来演示这个问题。这是正确呈现的同一屏幕截图中的一行。截图来自同一个截图,同一个文档。出现问题时,通常只有2-3行连续的文本呈现不正确。文档的其余部分很好。这是我用来在drawRect中呈现文本的代码:CGContextRefcontext=UIGraphicsGetCurrentContext();floatviewHeight=self.bounds.size.heig

ios - 如何从 NSData 源写入 PDF 文件

我有一个方法可以像这样从CGPathRef返回NSData...+(NSData*)createPDFDataWithCGPath:(CGPathRef)pathmediaBox:(CGRect)mediaBox{CFMutableDataRefdata=NULL;if(path){CFAllocatorRefallocator=NULL;data=CFDataCreateMutable(allocator,0);CGDataConsumerRefconsumer=CGDataConsumerCreateWithCFData(data);CGContextRefcontext=CGPD

ios - 我该如何修复 CGContextRestoreGState : invalid context 0x0

这是我正在使用的代码:CGRectimageRect=CGRectMake(0,0,oldImage.size.width,oldImage.size.height);CGRectnewRect=imageRect;UIGraphicsBeginImageContextWithOptions(newRect.size,NO,oldImage.scale);CGContextRefctx=UIGraphicsGetCurrentContext();CGContextScaleCTM(ctx,1,-1);CGContextTranslateCTM(ctx,0,-(newRect.size.

ios - UIView 图像中的缩放效果

当用户将鼠标悬停在图像上时,点击某个body部位会显示该区域的放大图像。我想知道任何可能的第三方框架来解决可以帮助我实现此功能的此类功能或代码片段(例如使用哪些手势识别器)。问题2:我还必须在触摸发生和结束的位置添加一个动态的可点击标签(如您在图像中看到的手腕标签),这样我就可以将用户从该屏幕带到一个单独的View点击标签。如何做到这一点? 最佳答案 在您的drawRect方法中,遮住一个圆(使用包含放大镜“mask”的单色位图)并使用2倍比例变换在其中绘制主题View。然后在上面画一个放大镜图像,你就完成了。-(void)draw

ios - 将 UIView 及其所有 subview 绘制到 Context

创建了一个UIView,并在UIView中不断添加和删除小的snow.png以模拟下雪的效果。然后我想将屏幕捕获为图像。UIGraphicsBeginImageContext(self.uiviewPreview.bounds.size);[self.uiviewPreview.layerrenderInContext:UIGraphicsGetCurrentContext()];UIImage*viewImage=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();UIImageWriteTo

ios - 如何逐像素绘制圆圈?

我可以像下面这样逐个像素地绘制一个正方形for(inti=0;i这里drawrect是CGRect,Point是我用来逐像素绘制的CGPoint我对此进行迭代并找到一个要制作的正方形。这个正方形充满了每个像素,所以它只是不绘制带边框的正方形,而是包括正方形内的所有像素。除了圆(实心圆的像素),我想要同样的东西。我怎样才能做到这一点? 最佳答案 使用以下代码覆盖您的drawRect:您需要处理5件事:SIDE_WEITH=圆的宽度,颜色常量:_r=红色_g=绿色_b=蓝色_a=阿尔法并根据需要设置进度:_progress那个。-(vo

iphone - 了解 Core Data 中的嵌套上下文

我有以下结构持久存储父上下文MOC(在主线程上)后台线程MOC(MOC=托管对象上下文)所以我在背景上下文中做了一些工作//Createabackgroundcontext.NSManagedObjectContext*context=[[NSManagedObjectContextalloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];context.parentContext=self.document.managedObjectContext;//Startusingit,butinitsownthread![co