Tag: 视网膜显示

UIImage imageNamed:不会自动select视网膜@ 2x图像

假设我在一个包或资产目录中有三个图像: 默认〜iphone.png Default@2x~iphone.png Default-568h@2x.png 在iOS 4和更高版本中,UIImage构造函数可以按如下方式获取图像名称: [UIImage imageNamed:@"Default"]; 当我在3.5英寸的视网膜显示器(iPhone)上自动select图像(2)。 如果在非视网膜显示器上select(1)。 这很棒。 我为4英寸视网膜(iPhone 5)启动图像指定了图像3。 有没有一种方法来命名图像(3),所以当我在4英寸的视网膜显示屏上运行,它是用相同的UIImage构造函数返回? 也许这还没有实现,或者我期望太多的便利…我只是试图避免在我的代码中select基于屏幕尺寸的图像的任何条件逻辑。

高分辨率/视网膜显示新iPad的应用程序图标文件名称

有谁知道在iOS的高分辨率的应用程序图标正确的文件名? 我只能在苹果开发者网站上find以下文件,这是不幸的 – – http://developer.apple.com/library/ios/#qa/qa1686/_index.html 。 这是我最好的猜测…虽然我确信我错了! App – 144px x 144px – Icon-72@2x.png Spotlight – 100px x 100px – Icon-Small-50@2x.png Settings – 58px x 58px – Icon-Small@2x.png 任何build议将不胜感激!

iOS:我如何使用CGLayer支持Retina Display?

我在它的委托方法drawLayer:inContext:绘制一个CALayer图。 现在我想支持视网膜显示,因为graphics看起来最新的设备模糊。 对于我在CALayer传递的graphics上下文中直接绘制的部分,我可以通过如下设置CALayer的contentScale属性来很好地绘制高分辨率。 if ([myLayer respondsToSelector:@selector(setContentsScale:)]) { myLayer.contentsScale = [[UIScreen mainScreen] scale]; } 但是对于我使用CGLayer的部分仍然是模糊的。 如何在高分辨率的CGLayer上绘制视网膜显示? 我想使用CGLayer重复绘制graphics的相同绘graphics状,以及切断超过图层边缘的graphics线条。 我通过CGLayerCreateWithContex从CALayer传递的graphics上下文获取CGLayer,并使用CG函数(如CGContextFillPath或CGContextAddLineToPoint绘制其上下文。 我需要同时支持iOS 4.x和iOS 3.1.3,Retina和传统显示器。 谢谢, 库拉

iPad的视网膜图像 – 为什么使用两种不同的图像尺寸?

对于iPad的视网膜(或iPhone视网膜),为什么我们需要有两种types的图像尺寸,并为视网膜版本添加@ 2x后缀? 我们不能只有一种types的视网膜分辨率图像和没有视网膜显示的设备,让设备把图像调整到较小(非视网膜)尺寸?

UIWebView中的字体大小不符合iOS字体大小

这是一个说“关于”的UILabel。 在iOS中精确设置为17.7。 在它下面还有一个UIWebView,它也说“关于”。 也使用css精确设置为17.7。 他们不匹配。 如何正确解决这个问题? 奇怪的是,在苹果自己的UIWebView,大小的基础是不同的 ? Html来testing… <html><head> <style type='text/css'> body { margin: 0px; font-family: 'SourceSansPro-Light'; font-size: FONTPOINTSpt; } html { -webkit-text-size-adjust:none; } </style></head> <body leftmargin=0 topmargin=0> About </body></html> 行为在设备或模拟器上是相同的。 (注意,从这里我知道这个比例是72.0 / 96.0。)

用Core Graphics绘图在Retina显示屏上看起来矮胖

我有一个UIView从drawRect:rect中绘制一个圆。 在阅读Retina显示屏上的Apple dev信息之后,似乎使用Core Graphics意味着绘图将自动利用更高的分辨率。 然而,这个简单的圆圈与徽章图标中的相似圆圈相比看起来相当矮胖。 很显然,我将它与具有光泽和阴影的东西进行比较,但我认为很明显,我的绘图效果不好。 我尝试了苹果的图标徽章和我的圈子的截图,他们在我的Mac上看起来相同 – 但是当看着手机上的每一个不同之处显而易见。 有什么简单的我在这里失踪? 这是我在drawRect:rect中使用的绘图代码 UIBezierPath* aPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0, 0, 22, 22)]; [[UIColor whiteColor] setStroke]; [[UIColor redColor] setFill]; CGContextRef aRef = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(aRef, 10, 10); aPath.lineWidth = 3; [aPath fill]; [aPath stroke]; 感谢您的帮助,Rob

MonoTouch:双倍外观在Retina显示屏上调整色调时的图像大小

我使用在Retina和非Retina显示器中工作良好的代码来设置NavBar的背景。 有一个@ 2x和正常的图像。 所以,一切都好: UINavigationBar.Appearance.SetBackgroundImage( GetImage(ImageTheme.menubar), UIBarMetrics.Default); 现在,当我将这个ChangeHue()变换应用到图像以调整其色调时,在Retina上显示图像的大小是它的两倍。 非Retina显示器是好的: UINavigationBar.Appearance.SetBackgroundImage( ChangeHue(GetImage(ImageTheme.menubar)), UIBarMetrics.Default); … UIImage ChangeHue(UIImage originalImage){ var hueAdjust = new CIHueAdjust() { Image = CIImage.FromCGImage(originalImage.CGImage), Angle = hue * (float)Math.PI / 180f // angles to radians }; var output = hueAdjust.OutputImage; var context = CIContext.FromOptions(null); var cgimage = context.CreateCGImage(output, output.Extent); var i = UIImage.FromImage(cgimage); return […]

iPhone6显示屏放大function扰乱了整个视野

我在iPhone6的“ 显示缩放”function上面临一个问题,因为在Xcode 6.1.1模拟器上没有显示缩放function来testing,只有标准显示。 问题: 当我在模拟器和iPhone6(使用标准显示器)上运行我的代码时,它的工作正常,但是当我在iPhone6上运行我的代码(显示缩放function时),那么我的整个视图会从原始位置干扰,甚至UIButton甚至不显示或隐藏在这种情况下。 以下是我的场景的两个图像: 在下面的图片(标准显示的iPhone 6),所有的视图是在原来的位置,一切都很好。 但是在下面的图像中(iPhone 6的显示缩放function是开启的),所有的视线都会从原来的位置被打扰,而大球周围的小球(UIButton)甚至被隐藏在这种情况下。 任何帮助和build议将不胜感激。

为什么iOS自动布局会导致Retina显示前显示的舍入错误(包括unit testing)

我目前很难理解为什么iPad 2上的下列unit testing失败。自动布局似乎在超view内的错位置view相对于两个布局约束所要求的精确对中而言略微(0.5点)。 尤其令人感到奇怪的是,关键testing(但是最后的断言)在iPhone 5上传递,所以明显的四舍五入错误只影响一个(iOS 6)平台。 这里发生了什么? 更新1我已经改变了代码,以确保这两个框架是足够的宽度和高度的限制,即使translatesAutoresizingMaskIntoConstraints是NO ,作为一个可能相关的补救措施build议在这里 。 但是,这显然不会改变这种情况。 #import "BugTests.h" @implementation BugTests – (void)testCenteredLayout { UIView *superview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 768, 88)]; superview.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; superview.translatesAutoresizingMaskIntoConstraints = YES; UILabel *view = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; view.text = @"Single Round against iPad."; view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; […]

获取设备图像比例(例如@ 1x,@ 2x和@ 3x)

我有一个应用程序,使用服务来获取一些图标。 有了这个服务,我可以得到任何大小的图像,所以我计划得到3个图像(@ 1x,@ 2x和@ 3x)并将它们存储在BBDD上,然后使用这三个图像中的一个; 或者根据设备规模只能获得一个。 但事情是,我怎样才能以编程方式获得设备规模(@ 1x,@ 2x和@ 3x)? Obj-c和Swift都受欢迎;)