Swift:如何在UITabBarItem被按下时执行一个动作

目前我有一个连接到桌面视图控制器的选项卡栏控制器。 我正在试图去当我按下标签栏项目的桌面视图的顶部。 我知道如何到达桌面的顶部。 我只是不知道如何做一个动作,当项目被按下。

在appstore页面中定制应用程序库

我在iPhone上看着appstore上的其他大公司画廊。 他们中的一些在自定义背景颜色上有他们的标志。 我想知道这是在什么地方? 或者我们需要联系苹果公司并付款。 见下文 :

NSDateFormatter.dateFromString返回特定语言的特定date为零

我真的不知道这个代码发生了什么,我试图将string转换为date。 我不明白的是,转换适用于大多数date,但不能专门为两个date。 let dateFormatter = NSDateFormatter() dateFormatter.locale = NSLocale(localeIdentifier: "es") dateFormatter.dateFormat = "dd 'de' MMMM" dateFormatter.dateFromString("1 de octubre") dateFormatter.dateFromString("2 de octubre") dateFormatter.dateFromString("3 de octubre") dateFormatter.dateFromString("4 de octubre") dateFormatter.dateFromString("5 de octubre") dateFormatter.dateFromString("6 de octubre") dateFormatter.dateFromString("7 de octubre") dateFormatter.dateFromString("8 de octubre") dateFormatter.dateFromString("9 de octubre") dateFormatter.dateFromString("10 de octubre") dateFormatter.dateFromString("11 de octubre") dateFormatter.dateFromString("12 de octubre") dateFormatter.dateFromString("13 de octubre") dateFormatter.dateFromString("14 […]

MKMapView显示不正确的保存区域

当我的iPhone应用程序正在closures时,我将地图区域保存为用户默认值: MKCoordinateRegion region = mapView.region; [[NSUserDefaults standardUserDefaults] setDouble:region.center.latitude forKey:@"map.location.center.latitude"]; [[NSUserDefaults standardUserDefaults] setDouble:region.center.longitude forKey:@"map.location.center.longitude"]; [[NSUserDefaults standardUserDefaults] setDouble:region.span.latitudeDelta forKey:@"map.location.span.latitude"]; [[NSUserDefaults standardUserDefaults] setDouble:region.span.longitudeDelta forKey:@"map.location.span.longitude"]; 当应用程序再次启动时,Ш以相同的方式读取这些值,以便用户可以看到与上次完全相同的地图视图: MKCoordinateRegion region; region.center.latitude = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.latitude"]; region.center.longitude = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.longitude"]; region.span.latitudeDelta = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.latitude"]; region.span.longitudeDelta = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.longitude"]; NSLog([NSString stringWithFormat:@"Region read : %f %f %f %f", region.center.latitude, region.center.longitude, region.span.latitudeDelta, […]

在iOS上添加quartzcore到xcode 4

我有麻烦安装在xCode 4关于iOS应用程序的quartzcore。 我search了很多,看了很多post,但我找不到答案:怎么做? 因为当我尝试将Quartzcore添加到项目的目标时,似乎我只能添加一个Mac OS X框架。 你所能做的就是创build一个iOS框架。 我想这是显而易见的,我是一个新手在Xcode和Objective-C一般,所以任何帮助将不胜感激。 原谅我问一些以前可能被问到的东西,我错过了,而且我的语言错误英文不是我的母语。 再见。

Block_release在后台线程上取消分配UI对象

在WWDC 2010“块和大中央调度”演讲中提出的模式之一是使用嵌套的dispatch_async调用在后台线程上执行耗时的任务,然后在任务完成后更新主线程上的UI dispatch_async(backgroundQueue, ^{ // do something time consuming in background NSArray *results = ComputeBigKnarlyThingThatWouldBlockForAWhile(); // use results on the main thread dispatch_async(dispatch_get_main_queue(), ^{ [myViewController UpdateUiWithResults:results]; }); }); 由于在块内部使用了“myViewController”,它会自动得到一个“保留”,并在清理块之后得到一个“释放”。 如果块的“释放”调用是最终的释放调用(例如,用户在后台任务运行时离开视图),则调用myViewController dealloc方法 – 但是在后台线程调用它! UIKit对象不喜欢在主线程之外解除分配。 在我的情况下,UIWebView引发一个exception。 这个WWDC如何呈现模式 – 特别提到是避免UIlocking的最佳新方法 – 是如此的有缺陷? 我错过了什么吗?

– :发送到释放实例的消息

我已经将我的应用程序转换为使用ARC。 在我有以下的代码行之前: NSArray *colors = [NSArray arrayWithObjects:startColor, endColor, nil]; 由于ARC不允许将非Objective-C指针types隐式转换为“id”,所以我重写了这样一行: NSArray *colors = [NSArray arrayWithObjects:(__bridge id)startColor, (__bridge id)endColor, nil]; 一切工作正常在模拟器上,但在设备上的应用程序崩溃在提到的行与错误信息: -[Not A Type retain]: message sent to deallocated instance 任何想法如何解决?

fbDidLogin不被调用

所以,我已经搞乱了Facebook的iOS SDK,最新的版本,我不能得到fbDidLogin方法被调用。 login过程工作正常,在模拟器上使用Safari并在设备上运行Facebook应用程序。 但是,login后,我被转回到我的应用程序(因为我应该是),但由于fbDidLogin方法没有被调用,没有任何改变。 至于我的应用程序而言,我没有login。与SDK捆绑在一起的演示应用程序工作正常。 所以我显然做错了,但我不知道如何检查什么。 我三重检查了演示程序中使用的所有方法与我自己的方法,只要我可以看到一切看起来相同。 任何想法或想法如何debugging呢? 还是有人有类似的问题? 谢谢!

钥匙串中存储的string是否有长度限制?

我想在iOS的钥匙串中存储一些用户信息作为string,那么钥匙串中的string是否有长度限制? 谢谢。

UITextView无意中添加新行?

我有一个包含UITextField和UITextView的滚动视图。 UITextField返回键是“下一步”,当这个按下时,我打电话[myTextView成为第一个答案]; 一个随机的新行插入到我的textview,所以我开始在第二行。 我如何避免这种情况? 同样重要的是要注意,当我直接点击UITextView而不是点击下一个键时,这不会发生。 提前致谢!