小编Yos*_*ssi的帖子

为什么我在iOS 7上以编程方式创建的屏幕截图看起来如此糟糕?

我正在尝试与Facebook实现共享应用程序.我使用此代码截取屏幕截图:

CGSize imageSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height);
UIGraphicsBeginImageContext(imageSize);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)

它在iOS 6上运行良好,但在iOS 7中,图像看起来很糟糕.我使用了这个答案:iOS:以编程方式制作屏幕截图的最快,最高效的方法是什么? 试图解决它,它有帮助,仍然截图看起来很糟糕.屏幕获得另一种颜色,并且在拍摄的图像上没有显示某些对象(如标签).有帮助吗?

---- ----更新

我设法解决了大多数对象,通过改变它们来保留而不是弱.我的主要问题仍然是我的tableview,显示为一个大的白色块(它应该是透明的,带有白色文本的标签,所以我们看到的只是白色单元格).我确实尝试将表格背景定义为clearcolor,没有帮助..

- - 最后更新 - -

这里有很好的答案,并不是真的与我的问题有关..我想让它在iOS7上运行但不使用iOS7 SDK的设备上运行,因为在这一点上,当项目切换项目SDK需要花费很多精力差不多完成了.

无论如何,我添加了最终解决了我的问题的代码的和平:

这个改变只是解决了这个问题:

UIGraphicsBeginImageContextWithOptions(imageSize, NO , 0.0f);
Run Code Online (Sandbox Code Playgroud)

代替:

UIGraphicsBeginImageContext(imageSize);
Run Code Online (Sandbox Code Playgroud)

iphone xcode screenshot objective-c ios

29
推荐指数
4
解决办法
4万
查看次数

iPhone:如何获得本地货币符号(即"$"不是"AU $")

这是我现在如何获得货币符号的代码:

NSLocale *lcl = [[[NSLocale alloc] initWithLocaleIdentifier:@"au_AU"] autorelease];
NSNumberFormatter *fmtr = [[[NSNumberFormatter alloc] init] autorelease];
[fmtr setNumberStyle:NSNumberFormatterCurrencyStyle];
[fmtr setLocale:lcl];

NSLog( @"%@", [lcl displayNameForKey:NSLocaleCurrencySymbol value:@"AUD"] );
NSLog( @"%@", [fmtr currencySymbol] );
Run Code Online (Sandbox Code Playgroud)

两个NSLog都返回"AU $".正如我从Apple开发文档中所理解的那样,每种货币至少有两个货币符号(这些符号可能是相同的) - 本地(在一个国家内使用.例如澳大利亚的$)和国际货币符号(AU $)对于澳大利亚).所以,问题是如何获得LOCAL货币符号.有任何想法吗?

提前致谢.

iphone formatting currency objective-c

27
推荐指数
4
解决办法
2万
查看次数

以美元获取应用内商品价格 - 而不是用户的本地硬币

对于分析和收集数据,我想以美元的价格获得SKProduct的价格.

我用来向用户显示价格的基本代码是:

   _priceFormatter = [[NSNumberFormatter alloc] init];
   [_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
   [_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];

   [_priceFormatter setLocale:inAppProduct.priceLocale];
   inAppItemString = [_priceFormatter stringFromNumber:inAppProduct.price];
Run Code Online (Sandbox Code Playgroud)

此代码为我提供了用户应使用当地硬币支付的实际价格

我尝试将本地设置为en_US,但是我得到了与以前相同的价格,以及$ :)这是我改变尝试这个:

   NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
   [_priceFormatter setLocale:usLocale];
Run Code Online (Sandbox Code Playgroud)

知道如何以美元获得价格吗?

localization in-app-purchase ios skproduct

8
推荐指数
1
解决办法
1180
查看次数

NSArray indexOfObject返回nil

任何想法为什么我不能得到一个我确定在数组中存在的对象的索引?相反,我没有......

(lldb) po newItem
<ReceiptItem: 0x16a428b0>

(lldb) po self.items
<__NSArrayM 0x169bf0e0>(
<ReceiptItem: 0x16a428b0>
)

(lldb) po [self.items indexOfObject:newItem]
<nil>
Run Code Online (Sandbox Code Playgroud)

谢谢

objective-c nsarray ios

7
推荐指数
1
解决办法
2478
查看次数

安装bugzilla时出错 - 必须安装Linux :: Pid

我按照本指南在apache2服务器上安装bugzilla:http: //www.bugzilla.org/docs/4.4/en/html/configuration.html

我安装了所有模块并配置了所有文件.一切顺利到本节为止:2.2.4.1.2.带有mod_perl的Apache httpd™

我需要在apache2.conf中添加这些行:

PerlSwitches -w -T

PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Run Code Online (Sandbox Code Playgroud)

当试图通过重新启动apache完成所有进程时,我收到此错误:

You must install Linux::Pid for Apache::SizeLimit to work on your platform.......
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了解决方案,但是没有找到任何说明如何安装或以其他方式解决它.

请帮忙

PS

这是例外:

/etc/apache2/apache2.conf第95行的语法错误:您必须安装Linux :: Pid for Apache :: SizeLimit才能在您的平台上运行.在/usr/local/lib/perl/5.14.2/Apache/SizeLimit/Core.pm第128行.\n \nBEGIN失败 - 编译在/usr/local/lib/perl/5.14.2/Apache/SizeLimit/Core中止.pm第171行.\n在/usr/local/lib/perl/5.14.2/Apache2/SizeLimit.pm第48行的require中编译失败.\n \nBEGIN失败 - 编译在/usr/local/lib/perl/5.14中止.2/Apache2/SizeLimit.pm第48行.\n在/var/www/bugzilla-4.4/mod_perl.pl第52行的require中编译失败.\n \nBEGIN失败 - 编译在/var/www/bugzilla-4.4/mod_perl中止.pl第52行.\n在(eval 2)第1行的require中编译失败.\n操作'configtest'失败.Apache错误日志可能包含更多信息....失败!

ubuntu perl bugzilla apache2

0
推荐指数
1
解决办法
2227
查看次数