将子视图的X置于自动布局中将引发“未准备好约束”

我有一个自定义的UIView子类正在通过一个笔尖初始化。 在-awakeFromNib ,我创build了一个子视图,并尝试将它置于其超视图中。 [self setInteralView: [[UIView alloc] init]]; [[self internalView] addConstraint: [NSLayoutConstraint constraintWithItem: [self internalView] attribute: NSLayoutAttributeCenterX relatedBy: NSLayoutRelationEqual toItem: self attribute: NSLayoutAttributeCenterX multiplier: 1 constant: 0]]; 这打破了,并导致以下输出: 2013-08-11 17:58:29.628 MyApp[32414:a0b] The view hierarchy is not prepared for the constraint: <NSLayoutConstraint:0xc1dcc80 UIView:0xc132a40.centerX == MyView:0xc1315a0.centerX> When added to a view, the constraint's items must be descendants […]

ARC是否与Core Graphics对象一起工作?

我最近开始使用自动引用计数(ARC)的新项目。 当我分配CALayer的内容时: UIView* view = … UIImage* image = … view.layer.contents = image.CGImage 我有一个错误 ARC不允许将非Objective-C指针types“CGImageRef”隐式转换为“id” 简单地把CGImageRef成id隐藏了这个错误,但是我想知道ARC是否仍然正常工作呢?

我怎样才能从完成块检索返回值?

是否有可能在主线程上运行完成块? 例如,我有一个方法返回一个值: – (int)test { /* here one method is called with completion block with return type void */ [obj somemethodwithcompeltionblock: { /* here I am getting my Int which I want to return */ } ]; } 但是由于完成块在后台线程上运行,我无法看到如何从完成块中返回整数值作为此方法的结果。 我怎样才能做到这一点?

iPhone GPS在后台暂停后不会恢复

我的应用程序需要跟踪用户在后台的位置变化,只要用户移动,就可以正常工作。 当用户停止并且CLLocationManager在10-20分钟左右之后暂停时。 这是通知: -(void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager{} 这对我也很好。 太好了,我省了一些电池等等 问题是,当用户开始再次移动时, CLLocationManager永远不会被唤醒, 直到我将应用程序放到前台 (获取活动状态) 之前 ,下面的委托方法才会被触发 : //Never called back after CLLocationManager pauses: -(void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager{} -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{} 为什么在设备重新开始移动之后, locationManagerDidResumeLocationUpdates从来不会被调用? GPS不应该自动恢复(自动暂停)? 有没有用户的交互恢复GPS的方法? 应用程序在Info.plist文件中声明如下: 我的CLLocationManager设置是: locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; [locationManager setActivityType:CLActivityTypeFitness]; //I WANT pauses to save some battery, etc… That is why following line […]

Grand Central Dispatch中的线程限制解决方法?

使用Grand Central Dispatch ,可以轻松地在非主线程上执行耗时的任务,避免阻塞主线程并保持UI的响应。 只需使用dispatch_async并在全局并发队列上执行任务即可。 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // code }); 然而,这样的事情听起来太好了,而且这样的事情通常有其不利的一面。 在我们的iOS应用项目中,我们使用了很多,最近我们发现它有64个线程的限制。 一旦我们达到极限,应用程序将冻结/挂起。 通过暂停与Xcode的应用程序,我们可以看到,主线程是由semaphore_wait_trap举行。 谷歌在网上search确认其他人也遇到这个问题,但迄今为止没有find解决办法。 调度线程硬限制达到:64(在同步操作中阻塞的调度线程太多) 另一个stackoverflow问题确认使用dispatch_sync和dispatch_barrier_async也会发生此问题。 题: 由于Grand Central Dispatch有64个线程的限制,有没有解决方法? 提前致谢!

更改iPhone UISlider栏图像

我在我的应用程序中使用UISlider ,但是我想使用自定义的“外观”。 我已经改变了拇指到我自己的形象,但有没有办法改变吧? 我有一个我想要使用的酒吧形象,但不能看到如何做到这一点。 我发现如何改变最大和最小图像,但不是酒吧本身。

iPhone SDK可以获取当前连接的Wi-Fi SSID吗?

在iPhone SDK中,我看不到在Mac OS X上使用相同的SCDynamicStore来获取无线networking当前连接到的SSID名称不可用。 有没有办法获得iPhone当前连接的SSID名称? 我看到一些应用程序这样做( 简单的Wi – Fi为一个AT&T ),但我不知道如何在iPhone SDK文档中完成。 一个私人的或不公开的方法是可以接受的,只是作为一个概念certificate(虽然我知道可能不会到AppStore)。

如何在Swift中使用NSURLSession downloadTask按顺序下载多个文件

我有一个应用程序必须下载多个大文件。 我希望它逐一下载每个文件,而不是同时下载。 当它同时运行的应用程序得到超载和崩溃。 所以。 我试图包装在NSBlockOperation downloadTaskWithURL,然后在队列上设置maxConcurrentOperationCount = 1。 我在下面编写了这个代码,但它没有工作,因为两个文件同时下载。 import UIKit class ViewController: UIViewController, NSURLSessionDelegate, NSURLSessionDownloadDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. processURLs() } func download(url: NSURL){ let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration() let session = NSURLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: nil) let downloadTask […]

如何创build自定义MKAnnotationView和自定义注释标题和副标题

我需要在MKMapView上创build上面的Annotation视图。 我能够创build自定义注释视图,但在注释点击视图需要用大文本打开图像,我无法创build一个。 请给我提供一些链接或完成此任务的方法。

iOS:禁用子视图的自动旋转

我有支持方向更改的iPad应用程序的嵌套视图层次结构。 它看起来与以下类似。 UIViewController UIView – UIView – UIImageView (disable rotation) – UIImageView – UIView (disable rotation) – UIView – UIView … 我想locking一些子视图的方向,同时允许其他人自动旋转和resize。 我似乎无法弄清楚如何做到这一点。 一种方法似乎是在willAnimateRotationToInterfaceOrientation:手动旋转子视图。 鉴于SDK正在执行旋转,我只是将其撤销,这并不是特别有吸引力。 有没有办法简单地禁用方向更改子视图或其他方法来重构我的层次结构?