Articles of ipad

如何根据人机界面指南在iPad上删除确认

阅读iOS人机界面指南 ,似乎没有“正确”的方式让用户在删除之前进行确认。 在处理UIAlertView和UIActionSheet时,指南列出了3件事: 请勿使用警报视图来确认用户启动的操作。 不要在操作表(在iPad上)上包含“取消”按钮。 操作表必须至少有2个按钮。 所以…我需要让用户确认他们想删除一些东西。 呈现它们的唯一选择是实际删除事物,或什么都不做(取消)。 他们可以选择不做任何操作,只需点击操作表外部即可解散它。 但是这只留下了1个按钮用于操作表。 你打算怎么做删除确认? 在iPhone上,有动作表的模态/动画版本,可以很好地实现此目的。 但iPad完全改变了动作表的呈现方式。 文档说,你仍然可以通过动画呈现iPad上的动作表作为模态; 但我发现无论动画是YES还是NO,它的外观和行为都完全相同。

当iPad具有24小时格式时,NSDateFormatter会有不同的结果

我一直在思考为什么这种情况现在发生了一段时间,我一点也不清楚。 如果您运行以下代码: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@”dd-MM-yyyy|HH:mm”]; NSDate *date = [formatter dateFromString:@”18-01-2011|06:00″]; NSDate *today = [[NSDate alloc] init]; NSLog(@”date is: %@, today is %@”, date, today); 如果用户配置了24小时制,则上述打印date is: 2011-01-18 11:00:00 +0000, today is 2011-01-19 00:56:56 +0000 。 但是,当用户选择12小时制时,上面的打印date is: (null), today is 2011-01-19 12:58:51 am +0000 。 我做错了什么? formatter是否被假定为独立于语言环境? 请帮忙!

“didChangeSection:”NSfetchedResultsController委托方法未被调用

我有一个标准的拆分视图控制器,具有详细视图和表视图。 按详细视图中的按钮可以使对象在表视图的排序中更改其位置。 只要生成的排序更改不会导致添加或删除节,这样就可以正常工作。 即一个对象可以改变它在一个部分中的排序或从一个部分切换到另一个部分。 这些订购更改可以正常工作 但是,如果对象试图移动到一个尚不存在的部分,或者是留下一个部分的最后一个对象(因此要求删除它的部分),则应用程序崩溃。 NSFetchedResultsControllerDelegate具有处理添加和删除的部分的方法,在这些情况下应该调用这些部分。 但是那些委托方法由于某种原因没有被调用。 有问题的代码是样板: – (void)controllerWillChangeContent:(NSFetchedResultsController *)controller { NSLog(@”willChangeContent”); [self.tableView beginUpdates]; } – (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id )sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type { NSLog(@”didChangeSection”); switch(type) { case NSFetchedResultsChangeInsert: [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade]; break; case NSFetchedResultsChangeDelete: [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade]; break; } } – (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath { NSLog(@”didChangeObject”); […]

在iPad中显示带自定义框架的模态视图控制器

我想在iPad中显示一个带有自定义框架的模态UIViewController ,它位于其父视图控制器的顶部。 我尝试使用表单,但据我所知,帧和阴影效果无法更改。 vc.modalPresentationStyle = UIModalPresentationFormSheet; [self presentModalViewController:cv animated:YES]; 我也试过使用一个弹出框,但据我所知,要么我不能居中,要么我无法隐藏箭头。 还有另一种显示模态视图控制器的方法吗? 是否可以通过使用表单或弹出窗口解决此问题?

加载/卸载HTML5 时,iOS Safari内存泄漏

我开发了一个带有几个UIWebView的iPad应用程序,它采用以下HTML和JavaScript。 由于iPad一次只能播放一个video,因此在特定的网络视图聚焦之前,我不会加载video。 这是通过在UIWebView上调用stringByEvaluatingJavaScriptFromString方法,调用JS方法getFocus()来完成的 。 同样,当不再需要Web视图时,我调用lostFocus()来卸载video。 这使另一个UIWebView可以播放另一个video。 到现在为止还挺好。 一切都很完美。 除了一件事: 这会导致内存泄漏。 每当观看 我已经尝试重新加载UIWebView(而不是用JS卸载video),这不起作用。 我还尝试了大量不同的JavaScript变体,标签变体等等。 var movieDiv = document.getElementById(‘videoDiv’), movieHtml = ‘<video id="video" src="../Documents/” width=”768″ height=”911″>’; var gotFocus = function () { movieDiv.innerHTML = movieHtml; var movie = document.getElementById(‘video’); movie.play(); movie.addEventListener(‘pause’, function () { movie.currentTime = 0; movie.play(); }, false); }; var lostFocus = function () { […]

如何使用UISplitViewController作为模态视图控制器?

我试图在我的iPad应用程序中显示一个UISplitViewController,将其显示为模态视图控制器。 我设法让它显示,但由于某种原因,模态视图左侧有一个间隙,状态栏的大小,当方向更改时也会保留。 有人知道为什么会这样吗? 或者如果这是可能的话? 也许我只是在挖自己一个巨大的洞。

如何更改UIPickerView图像

我有一个像这样的自定义水平UIPickerView我想要像这样改变图像 我不知道该怎么办

在启用ARC的项目中,为什么维护保留计数不是必需的

保留计数是在Objective-C中pipe理内存的方式。 当你创build一个对象时,它的保留计数为1.当你发送一个对象的时候,一个保留消息的保留计数会增加1,我们知道ARC会自动执行,但是它是如何执行的? ? 我仍然怀疑是否内存pipe理是自动完成的,那么为什么有时我们得到访问错误的对象分配或检索。 我已经通过这个链接: – https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html

如何在SpriteKit中支持多种屏幕尺寸?

我想制作支持所有iOS设备的通用游戏,除了使项目如何让我的游戏支持所有屏幕尺寸之外,还有一种方法是通过代码检测屏幕尺寸,并根据尺寸更改graphics和代码,每个设备的graphics分辨率应该是多less?

NSUserDefault更新公式

有一个问题,我怎么能通过NSUserDefault更新我的公式。 所以我有两个文本字段需要保持我的公式uptodate。 所以用户input数字(值),然后该数字需要去我的公式,但公式只显示距离值:)。