2012-11-30 18 views
8

私はXcode 4.5.2でiPhoneアプリを作成することを学んでいます。アドレスhttp://i.stack.imgur.com/purI8.jpgに表示されているように、ボタンの1つ内のテキストはiOS6シミュレータには表示されません。私はまた0と - の同じ行にEnterボタンを移動しようとしましたが、その行の3つのボタンすべてのテキストは消えました。誰がこの問題の原因と解決方法を知っていますか?ここでは、コードは次のようになります。シミュレータにボタンのテキストが表示されない

#import "CalculatorViewController.h" 
#import "CalculatorBrain.h" 

@interface CalculatorViewController() 
@property (nonatomic) BOOL userIsInTheMiddleOfEnteringANumber; 
@property (nonatomic, strong) CalculatorBrain *brain; 
@end 

@implementation CalculatorViewController 

@synthesize display; 
@synthesize userIsInTheMiddleOfEnteringANumber; 
@synthesize brain = _brain; 

- (CalculatorBrain *)brain 
{ 
    if (!_brain) _brain = [[CalculatorBrain alloc] init]; 
    return _brain; 
} 

- (IBAction)digitPressed:(UIButton *)sender 
{  
    NSString *digit = [sender currentTitle]; 
    if (self.userIsInTheMiddleOfEnteringANumber) { 
     self.display.text = [self.display.text stringByAppendingString:digit]; 
    } else { 
     self.display.text = digit; 
     self.userIsInTheMiddleOfEnteringANumber = YES; 
    } 
} 

- (IBAction)enterPressed 
{ 
    [self.brain pushOperand:[self.display.text doubleValue]]; 
    self.userIsInTheMiddleOfEnteringANumber = NO; 
} 

- (IBAction)operationPressed:(UIButton *)sender 
{ 
    if (self.userIsInTheMiddleOfEnteringANumber) [self enterPressed]; 

    NSString *operation = [sender currentTitle]; 
    double result = [self.brain performOperation:operation]; 
    self.display.text = [NSString stringWithFormat:@"%g", result]; 
} 

@end 
+0

は、我々はあなたのコードを見ることができますか? – Max

+0

はい、ボタンのテキストがコードで設定されていないため、挿入しませんでしたが、必要な場合はビューのコードがあります。ボタンに関連するアクションはenterPressedです。 – Soel

+0

問題は解決していますか? – ichanduu

答えて

0

あなたのボタンのタイトルを設定するにはhttps://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/doc/uid/TP40006815-CH3-SW7

- (void)setTitle:(NSString *)title forState:(UIControlState)state 

によります。あなたのケースではそう

- (IBAction)operationPressed:(UIButton *)sender{ 
    .... 
    [sender setTitle:[NSString stringWithFormat:@"%g", result] forState: UIControlStateNormal]; 

    // lets assume you want the down states as well: 
    [sender setTitle:[NSString stringWithFormat:@"%g", result] forState: UIControlStateSelected]; 
    [sender setTitle:[NSString stringWithFormat:@"%g", result] forState: UIControlStateHighlighted]; 

}

関連する問題