2012-11-30 40 views
8

Tôi đang học cách xây dựng ứng dụng iPhone với XCode 4.5.2 và tôi nhận thấy có điều gì đó kỳ lạ. Như bạn thấy ở địa chỉ http://i.stack.imgur.com/purI8.jpg văn bản bên trong một trong các nút không được hiển thị trong trình mô phỏng iOS6. Tôi cũng đã cố gắng di chuyển nút Enter trong cùng dòng 0 và -, nhưng văn bản trong cả ba nút của dòng biến mất. Bất cứ ai biết nguyên nhân của vấn đề này là gì và làm thế nào để giải quyết nó? Đây là mã:Trình mô phỏng không hiển thị văn bản nút

#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

Chúng ta có thể nhìn thấy mã của bạn? – Max

+0

Có, tôi không đặt nó vì văn bản nút không được đặt qua mã, nhưng nếu bạn cần thì đây là mã của chế độ xem. Hành động liên quan đến nút này là enterPressed. – Soel

+0

Sự cố của bạn đã được giải quyết chưa? – ichanduu

Trả lời

0

Theo 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 

Để thiết lập tiêu đề nút của bạn.

Vì vậy, trong trường hợp của bạn:

- (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]; 

}

Các vấn đề liên quan