Questions tagged «ios»

iOS是在Apple iPhone,iPod touch和iPad上运行的移动操作系统。使用此标签[ios]来解决与iOS平台上的编程有关的问题。使用相关的标签[objective-c]和[swift]解决那些编程语言所特有的问题。

4
适用于iPhone / iPad / iOS的Fast and Lean PDF Viewer-提示和提示?
最近有许多关于绘制PDF的问题。 是的,您可以使用轻松渲染PDF,UIWebView但这不能提供您期望的优质PDF查看器所具有的性能和功能。 您可以将PDF页面绘制到CALayer或UIImage。苹果甚至提供了示例代码来展示如何在Zoomable UIScrollview中绘制大型PDF 但是同样的问题不断出现。 UIImage方法: PDF UIImage不像图层方法那样光学缩放。 CPU和内存击中产生UIImages从PDFcontext 使用它来创建一个实时渲染的新的放大级别限制/防止。 CATiledLayer方法: 将整个PDF页面绘制到上有大量开销(时间)CALayer:可以看到各个图块的呈现(即使使用tileSize进行了调整) CALayers 无法提前准备(在屏幕外渲染)。 通常,PDF查看器也占用大量内存。甚至监视苹果可缩放PDF示例的内存使用情况。 在我当前的项目中,我正在开发PDF查看器,并UIImage在单独的线程中渲染页面的A(此处也有问题!),并在比例为x1时显示它。CATiledLayer比例大于1时,渲染就会开始。iBooks采用类似的重复处理方法,就好像您滚动页面一样,在显示清晰版本之前,可以看到页面的较低分辨率版本不到一秒钟。 我在页面的每一侧都渲染了2页,以便PDF图像准备好在开始绘制之前掩盖该层。当页面距聚焦页面+2页时,页面将再次被销毁。 是否有任何见解,无论大小或明显程度如何提高Drawing PDF的性能/内存处理能力?还是这里讨论的任何其他问题? 编辑:一些技巧(信贷-卢克·麦克尼斯,VdesmedT,马特·加拉格尔,约翰): 尽可能将任何媒体保存到磁盘。 如果在TiledLayers上渲染,请使用更大的tileSize INIT频繁使用的阵列,占位符对象,alternitively另一设计方法是这一个 请注意,图像的渲染速度比 CGPDFPageRef 使用NSOperations或GCD和块来提前准备页面。 CGContextSetInterpolationQuality(ctx, kCGInterpolationHigh); CGContextSetRenderingIntent(ctx, kCGRenderingIntentDefault);之前调用CGContextDrawPDFPage以减少绘图时的内存使用量 用docRef初始化您的NSOperations主意(内存)是一个坏主意,将docRef包装为单例。 不需要NSOperations时取消可以的话,尤其是当他们将使用内存时,请当心不要打开上下文! 回收页面对象并销毁未使用的视图 不需要任何打开的上下文后,立即关闭它们 在收到内存警告时释放并重新加载DocRef和任何页面缓存 其他PDF功能: 在PDF中获取链接(以及此处和此处) 了解PDF矩形以进行链接定位 转换PDF注释日期字符串 获取链接的目标(从/Dest数组中获取页码) 获取目录 文件标题和关键词 获取原始文本(以及此处,此处和此处(定位重点)) 搜索(和在此处)(不适用于所有PDF(有些只是显示奇怪的字符,我想这是编码问题,但不确定)-Credit BrainFeeder) CALayer和屏幕外渲染 -渲染下一页以实现快速/流畅的显示 文献资料 Quartz PDFObjects(用于元信息,注释,拇指) …
368 ios  pdf  calayer 

8
Objective-C ARC:强vs保留,弱vs分配
ARC strong和引入了两个新的内存管理属性weak。 除了copy,这显然是完全不同的,vs 和vs 之间是否有任何区别?strongretainweakassign 根据我的理解,这里唯一的区别是weak将分配nil给指针,而不会分配给指针,assign这意味着一旦释放指针后,我将消息发送给指针,程序就会崩溃。但是,如果我使用weak,这将永远不会发生,因为发送至的消息nil将无济于事。 我不知道strong和之间的任何区别retain。 是否有任何理由为什么我应该使用assign,并retain在新的项目,或者是那种被弃用?


10
如何传递prepareForSegue:一个对象
我在地图视图中有很多注释(带有rightCalloutAccessory按钮)。该按钮将从此按钮执行mapview到一个按钮tableview。我想tableview根据单击哪个标注按钮来传递一个不同的对象(保存数据)。 例如:(全部组成) 注解1(Austin)->传递数据obj 1(与Austin相关) 注解2(达拉斯)->传递数据obj 2(与达拉斯相关) 注解3(休斯敦)->传递数据obj 3,依此类推...(你明白了) 我能够检测到单击了哪个标注按钮。 我正在使用prepareForSegue:将数据obj传递到目的地ViewController。由于无法进行此调用,因此无法为我需要的数据obj加上额外的参数,因此有什么优雅的方法可以实现相同的效果(动态数据obj)? 任何提示将不胜感激。


20
如何将Swift数组转换为字符串?
我知道如何以编程方式做到这一点,但是我敢肯定有一种内置的方式... 我使用的每种语言都有一组对象的默认文本表示形式,当您尝试将Array与字符串连接起来或将其传递给print()函数时,它会吐出。Apple的Swift语言是否可以有一种轻松地将数组转换为字符串的内置方法,还是在对数组进行字符串化时始终必须明确?
353 ios  arrays  swift 

16
如何在UIView下绘制阴影?
我正在尝试UIView在Cocoa Touch 的底部边缘下方绘制阴影。我知道我应该CGContextSetShadow()用来绘制阴影,但是Quartz 2D编程指南有点模糊: 保存图形状态。 调用该函数CGContextSetShadow,并传递适当的值。 执行要向其应用阴影的所有图形。 恢复图形状态 我在UIView子类中尝试了以下方法: - (void)drawRect:(CGRect)rect { CGContextRef currentContext = UIGraphicsGetCurrentContext(); CGContextSaveGState(currentContext); CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5); CGContextRestoreGState(currentContext); [super drawRect: rect]; } ..但这对我不起作用,我对(a)接下来要去哪里和(b)是否需要对我UIView进行这项工作感到有些困惑?

30
使用Swift将字符串转换为Int
该应用程序基本上通过输入初始速度和最终速度以及时间来计算加速度,然后使用公式来计算加速度。但是,由于文本框中的值是字符串,所以我无法将它们转换为整数。 @IBOutlet var txtBox1 : UITextField @IBOutlet var txtBox2 : UITextField @IBOutlet var txtBox3 : UITextField @IBOutlet var lblAnswer : UILabel @IBAction func btn1(sender : AnyObject) { let answer1 = "The acceleration is" var answer2 = txtBox1 var answer3 = txtBox2 var answer4 = txtBox3
352 ios  swift  int  uitextfield 

15
从Xcode 11.1升级到Xcode 11.2后,由于_UITextLayoutView,应用程序崩溃
从Xcode 11.1升级到Xcode 11.2之后,我的应用崩溃了: ***由于未捕获的异常'NSInvalidUnarchiveOperationException'而终止应用程序,原因:'无法实例化名为_UITextLayoutView的类,因为未找到名为_UITextLayoutView的类;该类需要在源代码中定义或从库中链接(确保该类是正确目标的一部分)' 为什么会这样呢?如何防止此崩溃?

30
如何使用十六进制颜色值
我正在尝试在Swift中使用十六进制颜色值,而不是UIColor允许您使用的一些标准颜色值,但是我不知道该怎么做。 示例:如何将其#ffffff用作颜色?
351 ios  swift  uicolor 


30
编写Objective-C和Cocoa时使用的最佳实践是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我知道HIG(非常方便!),但是在编写Objective-C时,尤其是在使用Cocoa(或CocoaTouch)时,会使用哪些编程实践。

8
何时使用NSInteger与int
NSInteger为iOS开发时应何时使用vs.int?我在Apple示例代码中看到,当将值作为参数传递给函数或从函数返回值时,它们会使用NSInteger(或NSUInteger)。 - (NSInteger)someFunc;... - (void)someFuncWithInt:(NSInteger)value;... 但是在一个函数中,它们只是int用来跟踪值 for (int i; i < something; i++) ... int something; something += somethingElseThatsAnInt; ... 我读过(被告知)这NSInteger是在64位或32位环境中引用整数的一种安全方法,那么为什么要使用它int呢?

30
使用Xcode遇到错误“没有这样的模块”,但是框架在那里
我目前正在使用Swift进行编码,但出现错误: 没有这样的模块社交 但是我不明白,因为该模块在我的项目中,在“链接的框架和库”和“嵌入式二进制文件”中声明。 这些框架位于Objective-C中,因此我为此编写了一个桥头。 请,如何使Xcode识别框架?
344 ios  xcode  swift 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.