Tag: iphone

UIView的setNeedsLayout,layoutIfNeeded和layoutSubviews之间有什么关系?

任何人都可以给UIView's setNeedsLayout , layoutIfNeeded和layoutSubviews方法之间的关系明确的解释? 以及所有三个将被使用的示例实现。 谢谢。 让我感到困惑的是,如果我发送自定义视图setNeedsLayout消息,那么它在layoutSubviews之后调用的下一个东西将跳过layoutIfNeeded 。 从文档我希望stream程setNeedsLayout >导致layoutIfNeeded调用>导致layoutSubviews被调用。

如何在NSMutableArray中存储CGRect值?

我如何将CGRect对象存储在NSMutableArray中,然后再检索它们?

如何在Mac OS X上确定静态库(.a)的目标体系结构?

我有兴趣validation一个给定的iPhone静态库是为ARM还是Intel构build的。 这比任何事情都更好奇。 是否有某种Mac OS X或BSD特定的工具来做到这一点? 这篇文章在Linux中给出了一个例子。

当使用Xcode 4.2和iOS 5 SDK时,是否有可能locking旧的iOS版本?

我刚刚下载了带有iOS 5 SDK包的Xcode 4.2,并立即注意到我无法使用iOS 4.2.1的iPhone 3Gs进行debugging。 我只能在安装了iOS 5的iPhone 4上进行debugging和testing。 对于运行iOS 5.0以下的任何设备,Xcode只是说“iPhone3GS已完成运行”,并没有运行它。 我将我的部署目标设置为3.0,因为我没有在3.0以上的应用程序中使用任何function,我希望能够以3.0或更高版本为目标。 我已经安装了所有的供应configuration文件并且是最新的。 我已经退出并重新启动xcode,我已经清理了多次构build。 我已经尝试在构build版本设置中添加armv6,但是没有任何东西可以允许我在使用ios 4.2.1的旧手机上构build和运行我的应用程序。 我的问题是,是否仍然可以使用适用于iOS版本低于5的新SDK开发应用程序? 我怎么能确定,如果我无法在我的旧手机上安装,我的应用程序仍然可以在较低的iOS版本上运行? 编辑: 好吧,它看起来像iOS SDK 5默认情况下,放弃对armv6的支持。 你必须做的是添加armv6在build筑设置为您的目标和您的项目下的体系结构字段。 然后你的应用程序将能够在iPhone 3G设备上运行。 在这里可以find答案如何build立与iOS 5的armv6和armv7体系结构

错误:服务无效

我在iPhone上安装我的应用程序时遇到了一些问题,因为我不断收到以下错误消息 该服务无效 请检查您的设置,然后重试 (0XE8000022) 它一直运行得很好,直到昨天,但从昨天开始,我遇到了这个问题。

代码签名错误:证书身份出现两次

CodeSignle错误:证书身份“iPhone Developer:XXXX(12345678)”在钥匙串中出现多次。 codesign工具要求只有一个。 所以我去我的钥匙链,并删除它。 但是,我每次重新启动Xcode 4时都会出现此错误,而某些应用程序正在将已过期的旧证书添加回钥匙串中。 任何想法为什么和哪个应用程序

如何使iPhone上的返回键使键盘消失?

我有两个UITextFields (例如用户名和密码),但当按下键盘上的返回键时,我无法摆脱键盘。 我怎样才能做到这一点?

如何更改UIBarButtonItem的字体?

我的UIToolbar有一个名为“完成”的UIBarButtonItem 。 现在我想用粗体将字体从默认改为“Trebuchet MS” 。 请在这个任务上指导我。

如何使用Core Animation创build自定义缓动function?

我在iOS中很好地沿着CGPath (QuadCurve)制作CALayer 。 但是我想使用一个比苹果公司提供的less数有趣的缓动function(EaseIn / EaseOut等)。 例如,弹跳或弹性function。 MediaTimingFunction(bezier)可以做这些事情: 但是我想创build更复杂的定时function 。 问题是媒体时机似乎需要一个立方贝塞尔,这是不够强大的创造这些效果: ../../../_media/manual/transitions.png 在其他框架中创build上述代码很简单,这使得这非常令人沮丧。 请注意,曲线将input时间映射到输出时间(Tt曲线),而不是时间 – 位置曲线。 例如, easeOutBounce(T)= t返回一个新的t 。 那么这个t被用来绘制运动(或者我们应该animation的任何属性)。 所以,我想创build一个复杂的自定义CAMediaTimingFunction但我不知道该怎么做,或者甚至有可能? 有没有其他的select? 编辑: 以下是步骤的具体示例。 非常教育:) 我想要从a点到b点的一条线上创build一个对象的animation,但是我希望它使用上面的easeOutBounce曲线沿着线“反弹”它的运动。 这意味着它将遵循从a到b的确切的线,但是将以比当前基于bezier的CAMediaTimingFunction更加复杂的方式进行加速和减速。 让我们用CGPath指定任意曲线运动。 它仍然应该沿着这条曲线移动,但是它应该像在示例中那样加速和减速。 理论上我认为它应该像这样工作: 让我们将运动曲线描述为关键帧animation移动(t)= p ,其中t是时间[0..1], p是在时间t计算的位置。 所以移动(0)返回曲线起点处的位置, 移动(0.5)正确的中间点,结束移动(1) 。 使用定时函数time(T)= t来提供移动的t值应该给我我想要的。 对于弹跳效果,定时函数应该返回时间(0.8)和时间(0.8)相同的t值(只是一个例子)。 只需更换计时function即可获得不同的效果。 (是的,可以通过创build和连接四个线段来进行线反弹,但这不是必须的,毕竟这只是一个简单的线性函数,它将时间值映射到位置)。 我希望我在这里有道理。

iPhone的viewWillAppear不开火

我已经阅读了许多有关viewWillAppear问题的人的post,当你没有创build你的视图层次结构恰到好处。 我的问题是我无法弄清楚这是什么意思。 如果我创build一个RootViewController并在该控制器上调用addSubView ,我期望添加的视图被连接到viewWillAppear事件。 有没有人有一个复杂的程序化视图层次的例子,成功地接收每个级别的viewWillAppear事件? 苹果的文件状态: 警告:如果属于视图控制器的视图直接添加到视图层次结构中,视图控制器将不会收到此消息。 如果向视图层次结构中插入或添加视图,并且它具有视图控制器,则应该直接将关联的视图控制器发送此消息。 无法发送视图控制器此消息将阻止显示任何关联的animation。 问题是他们没有描述如何做到这一点。 “直接”是什么意思? 你如何“间接”添加视图? 我对Cocoa和iPhone相当陌生,所以如果除了基本的Hello World废话之外还有其他有用的例子,那将是非常好的。