Tag: ios6

Autolayout在iOS 8上工作正常,但在iOS 6和7(我使用XCode 6.2)上performance不佳,

我正在使用自动布局来正确地布局UICollectionViewCell中的一些视图。 它适用于iOS 8,但是当我尝试在iOS 7或iOS 6上运行它时,单元格的外观在每次布局时都会有很大的变化(有时我会发现尺寸和位置的细微变化 – 一个或两个像素 – 有时会变大更改,导致一些相当混乱的单元格)。 我发誓我努力find有同样问题的人,但我不能。 我没有find任何答案可以帮助我解决甚至接近理解这个问题。 我将不胜感激任何关于如何解决甚至更好的debugging的意见。 更多信息 我使用Interface Builder来创build视图并设置约束。 单元格的视图总共有17个子视图,包括UIViews和它们的子视图,并且它们有很多约束条件。 每次按下button,我都会更新一个UIColletionView(包括我自定义的单元格的表格)。 我在这里发现的令人愤慨的是,当我运行应用程序时,每次按下button,单元格的子视图都会改变它们的位置和大小。 我从不改变任何约束或框架编程。 此外,在iOS6上的行为是最糟糕的。 这些框架的变化更大,自动布局运行非常缓慢(即使只有一个单元格,也需要3到10秒才能更新iPod Touch 5th Generation上的集合视图)。 最糟糕的是,如果我不断更新UICollectionView,有时XCode会抱怨约束不能同时满足。 但大多数时候它工作得很好。 我也遇到一些设备崩溃,当从超级视图中删除我的一些自动布局function的视图。 我发现这是Autolayout引擎的一个奇怪的行为,由于浮动错误可能会导致一些错误的计算。 我想知道这两个问题是相关的。 因为在search了几乎整整一天之后,我在整个networking上找不到任何帮助,所以我开始认为这是一个愚蠢的解决scheme的愚蠢的错误。 我确实希望如此。 提前致谢! SCREENSHOTS 我添加了一些截图来帮助你看到问题。 为了获得这些屏幕截图,我使用iOS 6在iPod Touch第5代上运行应用程序。iPhone 4和iOS 7的行为不同(它performance得好多了,但是我仍然可以看到元素在一些像素周围移动)。 每次我点击“更新”button,我从其超级视图(整个屏幕)中删除包含UICollectionView的视图并重新添加。 我不摧毁这个观点,它只创build一次。 我认为这可能是问题的根源(一些自动布局计算缓冲区保存了之前布局的值),但是破坏它并不能解决问题(尽pipe它确实使得位移不那么频繁和令人不安,但是以性能为代价) 。 这是预期的行为。 这是应用程序打开时的视图: 错位的意见。 这是第一次按下“更新”button的结果: 第二次按下button后的结果: 第三次按下button后的结果: 如果我继续按下button,我会在屏幕截图3和4之间交替布局(或者至less它们看起来很像)。 我给自动退出,这是为什么 那么,我真的放弃使用自动布局。 我花了将近一个星期的时间学习了很多东西(特别是布置和animation视图)。 我认为这是一个奇妙而强大的function,我学会了去爱它。 但是,我需要支持iOS6和iOS7。 […]

stringByEvaluatingJavaScriptFromString在iOS 6中不起作用

我看到问题只发生在iOS 6上,但在iOS 6以下版本中工作正常。 我的应用程序正在从一个链接加载图像,需要放大其图像像素以通过使用Javascript填充UIWebView的大小。 链接图像最初是以像素140×24。 我看到它正在运行,但图像没有被放大使用iOS 6模拟器。 它在iOS 5模拟器中工作。 请帮忙。 (void)webViewDidFinishLoad:(UIWebView *)webView { [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName(\"img\")(0).height=\"30\";document.getElementsByTagName(\"img\")(0).width=\"280\";"]; }

IOS自定义UIBarbuttonItem在详细视图中更改位置

我试图自定义我的导航栏的UIBarbuttonItem,以便我使用这个我的Appdelegate.m // didFinishLaunchingWithOptions: { UIImage *navBarImage = [UIImage imageNamed:@"nav-bar.png"]; [[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault]; [[UINavigationBar appearance] setTitleVerticalPositionAdjustment:5 forBarMetrics:UIBarMetricsDefault]; UIImage *barButtonSave = [[UIImage imageNamed:@"nav-bar-button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 2, 0, 2)]; [[UIBarButtonItem appearance] setBackgroundImage:barButtonSave forState:UIControlStateNormal style:UIBarButtonItemStyleDone barMetrics:UIBarMetricsDefault]; [[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:5 forBarMetrics:UIBarMetricsDefault]; return YES; } 当我完成了这个,我只是把一个UIBarbuttonItem与故事板,我完成了。 重点是我注意到,“保存”button之间改变我的意见! 它看起来像是在我的DetailView下移几个像素: 这是为什么?

在iOS 6中更改为wantSoftwareDimming?

这是关于这个问题: closures显示在iPhone OS(iOS) 作为closures显示屏的替代方法,我正在寻找一种尽可能使屏幕变暗的方法。 我发现了以下问题: 如何改变iOS 5应用程序的亮度? 使iPhone屏幕变暗 而这个文件: http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UIScreen_Class/Reference/UIScreen.html 根据这个问题/文档,我应该能够做到这一点,以减less背光的屏幕。 [[UIScreen mainScreen] setWantsSoftwareDimming:YES]; 我在iPad 2(iOS 6.0)上试过这个代码。 但是,我没有注意到显示器亮度的任何变化。 a)我做错了什么? b)这个iOS有没有变化?

如何在UINavigationBar下面添加一个视图

好的,在iOS私密类深入深渊和最终可重用代码的讨伐之间有一条细微的界限。 我想在UINavigationBar下面有一个大约40像素高的任意UIView。 现在,通常这可以扔在封闭的视图,但我想这个UIView 留在UINavigationBar。 所以当用户钻入不同的视图时,导航栏下方的UIView将保持不变。 我已经尝试构build一个容器UIViewController,它将作为RootViewController放置在UINavigationController中,但这不起作用,因为当用户按下一个新视图时,我的容器视图被滑出,并且我的持续性栏随它而去。 如果我把一个UINavigationController放进一个UIViewController里面,比我能覆盖的UIView栏,但内部的意见似乎仍然不会改变他们的框架的正确,以及当一个视图被推或popup导航堆栈,由于UINavigationController不知道他们在屏幕下方的新的Y位置,所以animation效果不佳(改变它们的Y位置以及离开屏幕)。 所以,我研究了UINavigationController的子类。 我知道,它说“ 这个类不适用于子类 ”,但总是有例外。 这个子类可以简单地在导航栏下面添加持久的UIView,调整内容部分的大小(正常视图将出现在哪里),一切都将正常工作。 但是在玩了ObjC运行时类之后,我找不到需要调整的魔术variables(UINavigationController的_containerView就是这样一个variables)。 什么是最好的方法来做到这一点? 有没有比复制和粘贴代码更好的方法,使这个酒吧进入所有的ViewControllers将显示它?

在iOS上紧密集合CollectionViewCells?

如果你想将细胞整齐地包装在一起,即使其他细胞中的某些内容更大,那又怎么样呢? 如果你看下面的图片,第一个string是最大的,但是如果我想把其他的单元格整齐地紧紧地捆在一起,不pipe大小如何,这是如何完成的? 无论从侧面还是从上到下,我都想做到这一点。 我希望细胞按照这幅图中箭头指向的方向排列。 更新:文本的第一行是两个单元格打包的togheter。

在集合视图中设置背景颜色时,点语法与方括号

我仍然在学IOS SDK,所以希望这是有道理的。 我仍然试图围绕使用点语法的头。 有人可以解释为什么这个代码不起作用,但第二个呢? 不工作: -(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionView *cell = [collectionView cellForItemAtIndexPath:indexPath]; [[cell contentView] setBackgroundColor:[UIColor blueColor]]; } 加工: -(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionView *cell = [collectionView cellForItemAtIndexPath:indexPath]; cell.contentView.backgroundColor = [UIColor blueColor]; } 我只是不明白为什么第一个代码不会工作。 我正在使用最新版本的Xcode。 是否将setBackgroundColor方法弃用于其他内容?

Odd SplitView / NavigationController在iOS6中的行为

这是一个很长的一步,但我想我会看看是否有其他人看到/解决这个问题。 我有一个IOS 6之前的应用程序,在主窗格和详细信息窗格中都使用带有NavigationControllers的UISplitViewController 。 在iOS 5和更早版本中,如果我将UIViewController推到主导航控制器上,它会滑入; popup视图控制器,然后将其滑回。 在iOS 6中,仅在横向方向上,如果我将UIViewController推到主导航控制器上,它会滑入; 然而,popup视图控制器然后似乎考虑视图控制器模式,因为它将视图控制器居中在屏幕上,然后像“ dismissModalController ”命令将它放在底部。 如果是纵向模式,则按预期滑入/滑出。 我不知道该怎么办 – 具有类似布局的较新的应用程序没有这个问题。 我怀疑它与初始窗口/导航器设置有关(在这个应用程序中)是用MainWindow.xib和MainWindow-iPad.xib以旧的方式configuration的。 我宁愿不要试图撕掉所有的东西,并用“新”的方式重新configuration(这一切都在appdelegate )

当添加libZSDK_API.a时,Restkit的-ObjC标志会导致编译错误

我正在使用RestKit来使用Web服务。 RestKit工作正常,直到我试图添加libZSDK_API.a库(这个库是通过networking或蓝牙来pipe理斑马打印机) 几个教程指出这个步骤将RestKit添加到iOS项目: 在“其他链接器标志”中添加值-ObjC 但是当我添加库时,这个标志(-ObjC)会导致编译错误,当我删除这个标志时,iOS应用程序可以正确编译,但是当我执行应用程序时会崩溃,因为Project没有-ObjC标志。 我收到这个编译错误: Undefined symbols for architecture i386: "_OBJC_CLASS_$_Linea", referenced from: objc-class-ref in libZSDK_API.a(LineaBtPrinterConnection.o) (maybe you meant: _OBJC_CLASS_$_LineaBtPrinterConnection) ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

UILabel sizeToFit只适用于AutoLayoutclosures

所以我正在制作一个使用iOS 6的应用程序,并想知道为什么我以前在iOS 5上运行良好的代码不再工作。 我有一个带有dynamicUILabel的单元,它根据它携带的文本进行调整。 这是与自动布局打开: 这是与自动布局closures: 这是我的代码: – (CGFloat)heightForText:(NSString *)bodyText { #define FONT_SIZE 13.0f #define CELL_CONTENT_WIDTH 280.0f #define CELL_CONTENT_MARGIN 5.0f CGSize constraintSize = CGSizeMake(CELL_CONTENT_WIDTH – (CELL_CONTENT_MARGIN * 2), 20000.0f); CGSize labelSize = [bodyText sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping]; CGFloat height = MAX(labelSize.height, 36.0f); // NSLog(@"height=%f", height); return height + (CELL_CONTENT_MARGIN * 2); } – (CGFloat)tableView:(UITableView *)tv […]