Tag: ios

重置设备上的钥匙串

我正在我的应用程序中的设备上testingloginstream(使用KeychainItemWrapper )。 如何重置/删除我的应用程序的钥匙串? 在模拟器上,我通过点击iOS模拟器 – > 重置内容和设置…。

AFNetworking和离线模式下的SDURLCache不起作用

我正在使用AFNetworking和SDURLCache来处理所有的networking操作。 我有这样的SDURLCache设置: SDURLCache *urlCache = [[SDURLCache alloc] initWithMemoryCapacity:1024*1024*2 // 2MB mem cache diskCapacity:1024*1024*15 // 15MB disk cache diskPath:[SDURLCache defaultCachePath]]; [urlCache setMinCacheInterval:1]; [NSURLCache setSharedURLCache:urlCache]; 我所有的请求都使用cachePolicy NSURLRequestUseProtocolCachePolicy ,根据苹果文档,它的工作原理是这样的: 如果请求中不存在NSCachedURLResponse,则从原始源获取数据。 如果请求存在caching响应,则URL加载系统检查响应以确定是否指定内容必须重新生效。 如果内容必须重新确认,则与原始源进行连接以查看是否已经改变。 如果没有改变,则从本地caching返回响应。 如果发生了变化,则从原始源获取数据。 如果caching的响应没有指定内容必须重新生效,则检查响应中指定的最大使用期限或到期date。 如果caching的响应足够近,则从本地caching中返回响应。 如果响应被确定为陈旧,则检查起源的新数据。 如果更新的数据可用,则从源发送源获取数据,否则从caching中返回。 所以,即使在飞机模式下,只要caching没有陈旧,一切都可以正常工作。 当caching过期(max-age等)时,失败块被调用。 我一直在SDURLCache里面挖掘一点,这个方法返回一个有效数据的响应(我把数据parsing成一个string,它包含caching的信息) – (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request { request = [SDURLCache canonicalRequestForRequest:request]; NSCachedURLResponse *memoryResponse = [super cachedResponseForRequest:request]; if (memoryResponse) { […]

如何旋转他们自己的中心周围的子视图?

是否可以围绕自己的中心旋转视图? 在我现在的实现中,子视图(button等)似乎沿着有趣的path移动,直到它们到达期望的位置(因为超级视图的坐标系被旋转)。 如下图所示,我希望这些意见能围绕自己的中心旋转90度。

iOS 7,使用默认的interactivePopGestureRecognizer快速滑回时损坏UINavigationBar

我有一个问题,我坚持,但我不知道为什么它甚至发生; 如果我在堆栈中推送一个细节控制器,并且使用默认的左边缘interactivePopGestureRecognizer非常快速地刷回,那么我的父/根视图控制器的UINavigationBar看起来就会损坏或者什么东西,就像内置的iOS转换机制没有时间去做在细节视图消失后重置它的工作。 另外为了澄清,在这个'腐败' UINavigationBar中的一切仍然是可触摸的,我父母/根视图控制器上的一切都完美。 对于没有源代码的人来说downvoting:没有源代码! 这是一个苹果的错误! 有没有办法重置这个UINavigationBar应该是什么时,父/视图控制器的viewDidAppear方法被调用? 请注意,如果我点击左上angular的button而不是使用左边的interactivePopGestureRecognizer则不会出现此错误。 编辑:我添加了一个NSLog来检查父视图控制器上的viewDidAppear上的navigationBar的子视图计数,并且计数总是相同,损坏或不是,所以我想知道为什么popup的控制器正在肆虐与我UINavigationBar 。 如果你能帮助我,我将不胜感激! 谢谢。 我附上了它的样子的截图:请注意,后面的chevron不是我的父/根视图控制器的一部分,它是popup堆栈的一部分。 Testing123是父级/根视图控制器的标题,而不是popup堆栈的标题。 头部和齿轮图标是父级/根视图控制器的一部分。 编辑:我以为这样的事情可以解决这个问题,但事实certificate,这不是真的,也是不好的体验海事组织。 这不是我正在寻找的解决scheme。 我发布一个大的赏金,所以这可以正确解决! 😃。 我不能有这种奇怪的用户界面行为是在生产质量的应用程序。 – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self.navigationController pushViewController:[UIViewController new] animated:NO]; [self.navigationController popToRootViewControllerAnimated:YES]; }

iOS – 手动对焦于input/文本区的解决方法

所以我已经看到很多有关iOS问题的话题,主要关注input / textarea元素。 (看到这里和这里 )看来,iOS不会让你手动专注于这些元素之一,并要求它是一个真正的点击/点击专注于元素。 我已经尝试模拟一个点击,触发一个点击,只是做点击()马上…各种各样的事情。 这是我目前正在尝试实施的解决方法: $scope.gotoElement = function(eID) { // call $anchorScroll() $scope.smoothScrollTo(eID).then(function() { clickElement('#textarea'); }); } function clickElement(e) { $(e).on('touchstart', function() { //$(e).val('touchstart'); $(e).focus(); }); $(e).trigger('touchstart'); } 你不需要担心滚动function,我知道这个工程,我已经testing了足够的。 注释掉$(e).val('touchstart')不会改变文本区域的文本,但是.focus()在iOS上不起作用。 我已经在Android设备上testing过,并且工作正常,但是在iOS上它并没有显示出键盘。 有时它会开始提起键盘半秒钟,然后再次消失。 我已经看过其他线程,正如我上面提到的,我似乎无法弄清楚如何编写一个解决方法。 有任何想法吗?

Swift的性能:map()和reduce()vs for循环

我在Swift中编写了一些性能关键的代码。 在实现了我所能想到的所有优化之后,并在Instruments中分析应用程序之后,我意识到绝大多数CPU周期都花在对Floats数组执行map()和reduce()操作上。 所以,为了看看会发生什么,我将所有的map实例都replace成了旧的for循环。 令我惊讶的是, for循环要快得多! 有点困惑,我决定执行一些粗糙的基准。 在一个testing中,在执​​行一些简单的算术之后,我有map返回一个Float数组: // Populate array with 1,000,000,000 random numbers var array = [Float](count: 1_000_000_000, repeatedValue: 0) for i in 0..<array.count { array[i] = Float(random()) } let start = NSDate() // Construct a new array, with each element from the original multiplied by 5 let output = array.map({ (element) -> Float […]

自定义UIFont基线移位

我遇到了自定义UIFonts的问题。 我加载了其中的6个(在普通/ bold / regularItalic / boldItalic中的字体A,在condensed / condensedSlanted变体中的字体B)。 但是,这是呈现时的结果: 前两行是好的,但是最后一行显示出一个基线问题。 我试过在FontLab中改变字体的UPM,ascender,descender,x-height,使它匹配第一个字体的值(正确渲染),但是无济于事。 我已经尝试将字体格式从OTF转换为TTF,没有运气。 无论我尝试什么,它总是呈现这种方式。 有人对此有经验吗?

iOS CarPlay API是否公开? 如何整合CarPlay?

CarPlay API公开的吗? 我们在哪里可以find一个编程指南或者这些类的引用? 还是将它与AVFoundation其他API(如audio)无缝集成? 笔记 这个问题很广泛,可能会被标记出来,但是请不要在这个问题上几乎没有任何信息,在这个阶段很多人都会觉得它有用 我住在瑞士,想去日内瓦尝试一下我会写法拉利的一个演示程序。

iOS:警告“尝试呈现其视图不在窗口层次结构中的ViewController”

当我尝试在导航控制器上显示一个ActivityController时,我收到以下警告, Attempt to present <UIActivityViewController: 0x15be1d60> on <UINavigationController: 0x14608e80> whose view is not in the window hierarchy! 我试图通过下面的代码呈现视图控制器, UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; activityController.excludedActivityTypes = excludeActivities; UIViewController *vc = self.view.window.rootViewController; [vc presentViewController: activityController animated: YES completion:nil]; [activityController setCompletionHandler:^(NSString *activityType, BOOL completed) { NSLog(@"completed"); }]; 这里怎么了?

drawRect在子视图之上

我已经subclassed UIView并添加一个drawRect方法。 然后我使用这个自定义类定义一个视图,并添加子视图。 问题是drawRect似乎在子视图下绘制东西(因此不可见)。 我想drawRect绘制的东西出现在我的自定义UIView的子视图上方。 这可能吗?