2014-01-17 51 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."]; 
}