2014-01-17 55 views
0

我已经加入到我的应用程序内购买的ViewController下面的代码,但我想显示的价格与我已经添加显示在应用程序内购买的价格编程

文本一起

我调用的价格代码是:

_priceFormatter = [[NSNumberFormatter alloc] init]; 
    [_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
    [_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
    [_priceFormatter setLocale:product.priceLocale]; 

我想之后,从该字符串叫价“升级”我的按钮

[buyButton setTitle:@"Upgrade for" forState:UIControlStateNormal]; 

我怎么会做这样的文字?

+0

是否要设置为'升级为<货币符号>'的标题? –

+0

是的!请帮助 – Omar

回答

1

也许我在这里错过了一些东西(还没有测试过),但是有没有这样的理由是行不通的?

NSString *buttonTitleString= [NSString stringWithFormat:@"Upgrade for %@", priceString]; 
[buyButton setTitle:buttonTitleString forState:UIControlStateNormal]; 

或者,做在同一行

[buyButton setTitle:[NSString stringWithFormat:@"Upgrade for %@", priceString] forState:UIControlStateNormal]; 

其中PRICESTRING是你的价格线,有可能使用你在问题中所描述的格式。

+0

我的_priceFormatter字符串返回(null)任何想法? – Omar

+0

看起来像瓦伦丁(下)在我可以让格式化程序检出之前得到它。希望有所帮助! – tsmith1024

0
NSNumberFormatter *formatter = [NSNumberFormatter new]; 
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[formatter setLocale:product.priceLocale]; 

NSString* titleWithPriceAndCurrencySign = [formatter stringFromNumber:product.price]; 

[buyButton setTitle:[NSString stringWithFormat:@"Upgrade for %@", titleWithPriceAndCurrencySign] forState:UIControlStateNormal]; 

有时您可能想要为某些区域设置自定义标准价格表示。例如,在俄罗斯的语言环境中,价格会显示冗余零 - 33,00 RUB。我想要简短的表示法 - 33 r.。因此,我添加以下代码:

if ([product.priceLocale.localeIdentifier hasSuffix:@"currency=RUB"]) 
{ 
    [formatter setMaximumFractionDigits:0]; 
    [formatter setCurrencySymbol:@"r."]; 
}