iOS UICollectionView – 默认stream程,从右到左填充行

我正在使用我的一个应用程序UICollectionView,自定义单元格,但默认stream量。 目前这个视图在一行中显示3个单元格(全部大小相同)。 单元格从左到右填充行,但我需要从右到左。 可能吗? 我是否需要创build自定义stream布局? 如果是这样,任何人都可以举个简单的例子吗 任何帮助将不胜感激。

如何在运行时获得iOS设备CPU架构?

有没有办法在运行时识别iOS设备的CPU架构? 谢谢。

如何在应用程序的运行时获得控制台读数?

出于debugging的目的,我想在运行时访问控制台打印输出,类似于App Store上当前的控制台应用程序(可以在这里find)。 我search了一些文档,找不到苹果公司提供的任何东西,但是我觉得我错过了一些重要的东西。 任何见解? 谢谢。

旋转到横向后,iOS边界会改变,然后回到纵向

当我的应用程序启动时,我的视图边界的NSLog显示如下: NSLog(@"My view frame: %@", NSStringFromCGRect(self.view.bounds)); My view frame: {{0, 0}, {320, 548}} 然后我旋转模拟器并得到以下内容: NSLog(@"My view frame: %@", NSStringFromCGRect(self.view.bounds)); My view frame: {{0, 0}, {320, 548}} 然后,当我将模拟器旋转回portait,我得到这个: NSLog(@"My view frame: %@", NSStringFromCGRect(self.view.bounds)); My view frame: {{0, 0}, {568, 300}} 我用来调整元素的两种方法是这些,他们还没有完成,因为我目前正在修复它们为新的iPhone。 -(void) resizeForLandscape { newsLabel = (UILabel *)[self.view viewWithTag:50]; weatherLabel = (UILabel *)[self.view viewWithTag:51]; sportsLabel = […]

使用iOS 5富文本编辑器

正如你知道iOS 5中的邮件应用程序有一个富文本编辑器是否有任何可能的方式来使用这个function的常规UITextView?

使用sysctl检测iOS上当前正在运行的应用程序

我目前已经实现了一个简单的活动监视器来观察iOS上正在运行的所有进程 要检索所有正在运行的进程的列表,请执行以下操作: size_t size; struct kinfo_proc *procs = NULL; int status; NSMutableArray *killedProcesses = [[NSMutableArray alloc] init]; int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 }; status = sysctl(mib, 4, NULL, &size, NULL, 0); procs = malloc(size); status = sysctl(mib, 4, procs, &size, NULL, 0); // now, we have a nice list of processes 如果我想了解更多关于特定stream程的信息,我会这样做: […]

如何创build一个适用于视网膜显示的CGBitmapContext,而不是为正常显示浪费空间?

如果是在UIKit,包括drawRect ,Retina显示的高清方面是自动处理的吗? 那么这是否意味着在drawRect ,1024 x 768视图的当前graphics上下文实际上是2048 x 1536像素的位图上下文? ( 更新:如果我使用drawRect的当前上下文创build图像并打印其大小: CGContextRef context = UIGraphicsGetCurrentContext(); CGImageRef image = CGBitmapContextCreateImage(context); NSLog(@"width of context %i", (int) CGImageGetWidth(image)); NSLog(@"height of context %i", (int) CGImageGetHeight(image)); 然后在新的iPad上,禁用状态栏,打印2048和1536,iPad 2将显示1024和768) 实际上,我们享受了为我们自动处理的1点= 4像素的奢华。 但是,如果我们使用CGBitmapContextCreate ,那么这些将是像素,而不是点? (至less如果我们为该位图提供数据缓冲区,则缓冲区的大小(字节数)显然不是为了更高的分辨率,而是用于标准分辨率,即使我们将NULL作为缓冲区,以便CGBitmapContextCreate处理缓冲区对于我们来说,大小可能与传入数据缓冲区的大小相同,只是标准分辨率,而不是Retina的分辨率)。 我们总是可以为iPad 1和iPad 2以及新iPad创build2048 x 1536,但是这会浪费内存,处理器和GPU功耗,因为只有新iPad需要。 所以我们必须使用if () { } else { }来创build这样一个位图上下文,我们该怎么做呢? 我们所有的代码CGContextMoveToPoint必须调整Retina显示使用x * 2和y * 2与非视网膜显示只使用x, y […]

在IOS中使用应用程序访问令牌

由于Facebook改变了他们的访问令牌政策,我现在不得不包含访问令牌来获取用户公共post。 从文档中可以看到,我可以使用应用程序访问令牌,所以我仍然可以在不向用户请求权限的情况下获取post。 但是因为我不知道这是如何工作的,而facebook的文档没有举例说明如何在IOS上实现这个,所以我想问你的帮助! 有没有人有我如何需要在我的代码中实现这个例子? Thnx提前!

核心数据请求的分页结果

我有一个相对简单的核心数据sqlite数据库。 我试图一次从DB页面获取结果。 NSFetchRequest* request = [[[NSFetchRequest alloc] init] autorelease]; [request setEntity:[…]]; [request setPredicate:[NSPredicate predicateWithFormat:@"flaggedTime != nil"]]; NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"flaggedTime" ascending:NO]; [request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]]; [request setFetchLimit:pageSize]; [request setFetchOffset:((pageIndex – 1) * pageSize)]; NSArray* results = [self.context executeFetchRequest:request error:NULL]; pageSize是30,testing数据的pageIndex是1,2,3或4(DB中约有80个项目,所以pageIndex = 4应该不返回任何项目)。 谓词和sorting工作正常,结果成功返回。 取限制也可以正常工作。 没有错误返回。 问题:我总是从第一页得到结果,就像没有设置fetchOffset一样。 我试图删除谓词和sorting,但无济于事。 唯一的情况,当我可以使fetchOffset的工作是当我使用30以下的值。当然,这是毫无意义的分页… 有人知道为什么吗? 我会很感激每一个答案。 更新:我正在谈论iOS。 testing4.2和5.0。 更新2:简化问题。 NSFetchRequest* request […]

使用dispatch_async或performSelectorOnMainThread在主线程上执行UI更改?

可能重复: Grand Central Dispatch(GCD)与performSelector – 需要更好的解释 要在主线程上执行“stuff”,我应该使用dispatch_async还是performSelectorOnMainThread ? 有没有一个首选的方式,是/否,和/或最佳实践? 例如:我正在NSURLConnection sendAsynchronousRequest:urlRequest方法的块内执行一些逻辑。 因为我正在做的东西的主视图,如呈现一个UIAlertView我需要在主线程上显示UIAlertView 。 为此,我使用下面的代码。 [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { // code snipped out to keep this question short if(![NSThread isMainThread]) { dispatch_async(dispatch_get_main_queue(), ^{ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Oops!" message:@"Some Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; }); } }]; 在同样的if(![NSThread […]