Questions tagged «iphone»

除非要专门针对Apple的iPhone和/或iPod touch,否则请勿使用此标签。对于不依赖于硬件的问题,请使用标签[ios]。需要考虑的更多标签是[xcode](但仅当问题与IDE本身有关时),[swift],[objective-c]或[cocoa-touch](但不包括[cocoa])。请避免有关iTunes App Store或iTunes Connect的问题。如果使用C#,请使用[mono]进行标记。

7
如何获取UIWebView中显示的HTML页面的标题?
我需要从UIWebView中显示的HTML页面中提取标题标签的内容。这样做最有效的方法是什么? 我知道我可以做: - (void)webViewDidFinishLoad:(UIWebView *)webView{ NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"]; } 但是,仅在启用javascript的情况下才有效。 另外,我可以只扫描HTML代码的文本作为标题,但是这样感觉有点麻烦,并且如果页面的作者对其代码感到异常,可能会变得脆弱。如果涉及到这一点,那么在iPhone API中处理html文本的最佳方法是什么? 我觉得我已经忘记了一些明显的东西。有没有比这两个选择更好的方法? 更新: 从该问题的答案中可以得出以下结论:UIWebView:是否可以禁用Javascript?在UIWebView中似乎无法关闭Javascript。因此,上面的Javascript方法将始终有效。

14
UILabel-自动调整标签大小以适合文本?
是否可以自动调整UILabel框/边界的大小以适合所包含的文本?(我不在乎它最终是否大于显示屏) 因此,如果用户输入“你好”或“我的名字真的很长,我希望它适合此框”,它不会被截断并且标签会相应地“加宽”吗?





8
iPhone UIView动画最佳做法
在iPhone上为视图过渡设置动画的最佳做法是什么? 例如,ViewTransitions苹果公司的示例项目使用如下代码: CATransition *applicationLoadViewIn = [CATransition animation]; [applicationLoadViewIn setDuration:1]; [applicationLoadViewIn setType:kCATransitionReveal]; [applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; [[myview layer] addAnimation:applicationLoadViewIn forKey:kCATransitionReveal]; 但是网上也有一些代码片段,看起来像这样: [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.75]; [UIView setAnimationDelegate:self]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES]; [myview removeFromSuperview]; [UIView commitAnimations]; 最好的方法是什么?如果您还可以提供摘要,将不胜感激。 注意:我一直无法获得第二种方法才能正常工作。

6
在不使用导航控制器堆栈,子视图或模式控制器的情况下对视图控制器进行动画更改?
NavigationController具有ViewController堆栈来管理和有限的动画过渡。 将视图控制器作为子视图添加到现有视图控制器时,需要将事件传递给子视图控制器,这很麻烦,几乎没有烦恼,并且在实现时通常感觉很糟糕(Apple也建议不要这样做)。这样做)。 再次提供一个模态视图控制器,将一个视图控制器放在另一个之上,尽管它没有上述事件传递问题,但实际上并没有“交换”视图控制器,而是将其堆叠。 情节提要仅限于iOS 5,并且几乎是理想选择,但不能在所有项目中使用。 有人可以在没有上述限制的情况下以一种固体代码示例的方式更改视图控制器,并允许它们之间进行动画转换吗? 一个接近的示例,但没有动画: 如何在没有导航控制器的情况下使用多个iOS自定义视图控制器 编辑:导航控制器的使用很好,但是需要有动画过渡样式(不仅仅是滑动效果),显示的视图控制器需要完全交换(而不是堆叠)。如果第二个视图控制器必须从堆栈中删除另一个视图控制器,则它的封装程度不够。 编辑2:iOS 4应该是此问题的基本操作系统,我应该在提到情节提要(上)时澄清一下。

4
使用drawRect还是不使用drawRect(何时应该使用drawRect / Core Graphics与子视图/图像进行比较,为什么?)
为了阐明这个问题的目的:我知道如何使用两个子视图并使用drawRect创建复杂的视图。我正在尝试完全理解何时以及为什么要使用另一个。 我还了解到,提前进行大量优化并在执行任何性能分析之前以更困难的方式进行操作是没有意义的。考虑到我对这两种方法都比较满意,现在真的想加深了解。 我的很多困惑来自于学习如何使表格视图滚动性能真正变得平滑而又快速。当然,此方法的原始来源来自iPhone的twitter(以前为tweetie)背后的作者。基本上,它说的是使表格平滑地滚动,其秘密是不要使用子视图,而是在一个自定义uiview中进行所有绘制。从本质上讲,似乎使用大量子视图会减慢渲染速度,因为它们具有大量开销,并且会不断在其父视图上进行重新组合。 公平地讲,这是在3GS刚起步时才写的,而iDevices从那时起变得越来越快。仍然在互连网上和其他地方经常建议使用此方法来获得高性能表。实际上,这是Apple的Table Sample Code中建议的方法,一些WWDC视频(面向iOS开发人员的实用绘图)和许多iOS 编程书籍中都建议使用该方法。 甚至还有看起来很棒的工具来设计图形并为其生成Core Graphics代码。 因此,起初我会相信“存在Core Graphics的原因。它非常快!” 但是,一旦我想到“尽可能使用Favor Core Graphics”这个主意,我就开始发现drawRect通常是导致应用程序响应速度不佳的原因,这在内存方面非常昂贵,并且确实给CPU造成了负担。基本上,我应该“ 避免重写drawRect ”(WWDC 2012 iOS App性能:图形和动画) 所以我想,像所有事物一样,它很复杂。也许您可以帮助自己和其他人了解使用drawRect的时间和原因? 我看到使用Core Graphics的几种明显情况: 您拥有动态数据(Apple的股票图表示例) 您有一个灵活的UI元素,无法使用简单的可调整大小的图像来执行 您正在创建一个动态图形,该图形一旦渲染就会在多个地方使用 我看到了避免使用Core Graphics的情况: 视图的属性需要单独设置动画 您的视图层次结构相对较小,因此使用CG所付出的任何额外努力都不值得 您想要更新视图片段而不重绘整个内容 当父视图大小更改时,子视图的布局需要更新 因此,请赋予您的知识。在什么情况下可以获取drawRect / Core Graphics(也可以通过子视图完成)?哪些因素导致您做出该决定?建议如何/为什么在一个自定义视图中进行绘制以实现黄油状的平滑表格单元滚动,但是苹果出于性能考虑而建议不建议使用drawRect?那么简单的背景图像呢(何时使用CG与可调整大小的png图像创建它们)? 制作有价值的应用程序可能不需要对此主题有深入的了解,但是我不喜欢在无法解释原因的情况下在各种技术之间进行选择。我的脑子生我的气。 问题更新 感谢大家提供的信息。一些澄清的问题在这里: 如果您正在绘制带有核心图形的东西,但是可以使用UIImageViews和预渲染的png完成相同的事情,那么您是否应该始终遵循这种做法? 一个类似的问题:尤其是使用诸如此类的badass工具时,应何时考虑在核心图形中绘制界面元素?(可能在元素的显示是可变的时。例如,具有20种不同颜色变化的按钮。还有其他情况吗?) 根据我在下面的答案中的理解,是否可以通过在复杂的UIView渲染本身之后有效地捕获单元格的快照位图,并在滚动和隐藏复杂的视图时显示该位图,来获得相同的性能?显然,必须解决一些问题。我有一个有趣的想法。

7
用于Objective-C的JSON解析器的比较(JSON框架,YAJL,TouchJSON等)
据我所知,Objective-C,JSON Framework,YAJL和Touch JSON有三个JSON解析器。然后,这三个将具有自己的特征。 例如: YAJL可以用作SAX样式解析器。 JSON框架的历史比较悠久,已被广泛使用。 触摸JSON解析NSData而不是NSString。 另外,据我测试,性能比较的结果如下: [快速] YAJL> JSON框架>触摸JSON [慢]。 如果您了解这些JSON解析器的优缺点,可以告诉我吗? 最后,如果您知道其他JSON解析器,请告诉我。
142 iphone  objective-c  json 


30
指定的权利…个人资料。(0xE8008016)。错误iOS 4.2
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).尝试在iOS 4.2.6(Verizon)上将我的第一个应用程序部署到未越狱的设备时,出现“ dreaded”错误。问题是,Entitlements file我的项目中没有,因为我根本不分发它,而只是将其放在一个设备上。我经历了苹果遇到的所有麻烦和循环(证书,设备,预配),直到问题的根源,但我无法弄清楚出了什么问题。 谁能帮我解决这个问题?

10
如何检查是否通过iPhone上的网页安装了应用程序?
我想创建一个网页,该页面将在iPhone未安装应用程序的情况下将iPhone重定向到应用程序商店,但是如果iPhone安装了应用程序,我希望它打开应用程序。 我已经在iPhone应用程序中实现了自定义网址,因此该应用程序的网址如下所示: myapp:// 如果此网址无效,我希望页面重定向到应用商店。这有可能吗? 如果我没有在手机上安装该应用程序,并在safari中编写myapp://网址,那么我得到的只是一条错误消息。 即使我真的很想知道使用JavaScript的丑陋骇客?

8
Xcode / Simulator:如何运行旧版iOS?
我正在考虑升级到iOS SDK 4.2。但是我想知道的是,我是否仍然能够在iOS 3.2上运行模拟器。这是因为我正在为iPad创建iAd,但是我仍然想检查我的程序是否可以在iOS 3.2上运行。 注意:过去我看到过与此类似的帖子,但是它们对于给出具体的操作步骤并没有真正帮助。
142 ios  objective-c  iphone  xcode  ipad 


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.