每日一实例 胜过 // // Controller.h // TipCalculator // // Created by user on 11-5-29. // Copyright 2011年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> @interface Controller : NSObject { IBOutlet UITextField *billField; IBOutlet UITextField *tipFieldTen; IBOutlet UITextField *tipFieldFifteen; IBOutlet UITextField *tipFieldTwenty; IBOutlet UITextField *tipFieldCustom; IBOutlet UITextField *totalFieldTen; IBOutlet UITextField *totalFieldFifteen; IBOutlet UITextField *totalFieldTwenty; IBOutlet UITextField *totalFieldCustom; IBOutlet UILabel *customPercentLabel; IBOutlet UISlider *customPercentSlider; NSString *billTotal; } -(IBAction)calculateTip:(id)sender; @end // // Controller.m // TipCalculator // // Created by user on 11-5-29. // Copyright 2011年 __MyCompanyName__. All rights reserved. // #import "Controller.h" @implementation Controller -(void)awakeFromNib { [billField becomeFirstResponder]; } -(IBAction)calculateTip:(id)sender { static bool toggle = YES; if (toggle) { toggle=NO; NSString *billFieldText= billField.text; float newTotal= [billFieldText floatValue]; float customTipPercent=customPercentSlider.value; if (sender== billField) { if (billFieldText.length<billTotal.length) billTotal = [NSString stringWithFormat:@"%.02F",newTotal/10]; else billTotal =[NSString stringWithFormat:@"%.02F",newTotal/10 ]; billField.text= billTotal; newTotal= [billTotal floatValue]; float tenTip= newTotal *0.10; float fifteenTip=newTotal * 0.15; float twentyTip= newTotal * 0.20; tipFieldTen.text = [NSString stringWithFormat:@"%.02f",tenTip]; tipFieldFifteen.text=[NSString stringWithFormat:@".20f",fifteenTip]; tipFieldTwenty.text= [NSString stringWithFormat:@".20f",twentyTip]; } else if (sender == customPercentSlider) { int percentage=(int)(customTipPercent * 100); customPercentLabel.text= [NSString stringWithFormat:@"%i%%",percentage]; float newSliderValue=((float)percentage)/100; customPercentSlider.value= newSliderValue; customTipPercent= newSliderValue; } float customTip=customTipPercent * newTotal; tipFieldCustom.text = [NSString stringWithFormat:@"%0.20f",customTip]; totalFieldCustom.text = [NSString stringWithFormat:@"%.02f",customTip + newTotal]; } else { toggle =YES; } } @end