0

おはよう、

私は問題があります。計算を行うアプリケーションがあります。Label を同じ ViewController に挿入すると、すべて監視されます。

同じラベルを別のビューに挿入するにはどうすればよいですか?

これは、計算があるビューです。

H.

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (strong, nonatomic) IBOutlet UITextField *textField1;
@property (strong, nonatomic) IBOutlet UITextField *textField2;

@property (strong, nonatomic) IBOutlet UIButton *result;

@property (strong, nonatomic) IBOutlet UIDatePicker *data;


@end

M.

//
//  ViewController.m
//  IEcigarette
//
//  Created by Federico on 24/11/12.
//  Copyright (c) 2012 Federico. All rights reserved.
//

#import "ViewController.h"
#import "ResultViewController.h"



@interface ViewController ()
@property (strong, nonatomic) NSString * myString;

@property (strong, nonatomic) UILabel * myLabel;
@end

@implementation ViewController

-(IBAction)calculate:(id)sender{



    NSDate *past = _data.date ;
    NSDate *now = [NSDate date];

    NSCalendar *gregorianCalendar = [[NSCalendar alloc]
                                     initWithCalendarIdentifier:NSGregorianCalendar];
    NSUInteger unitFlags = NSDayCalendarUnit;
    NSDateComponents *components = [gregorianCalendar components:unitFlags
                                                        fromDate:past
                                                          toDate:now
                                                        options:0];
    int z = [components day];
    int a = ([_textField1.text intValue]);
    int b = a*([_textField2.text intValue]);

    int r = b * z / 20;

    _myLabel.text = [[NSString alloc] initWithFormat:@"%d", r];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (BOOL)textFieldShouldReturn:(UILabel *)myLabel {

    [myLabel resignFirstResponder];

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        [self performSegueWithIdentifier:@"detail" sender:self];
    }

    return YES;
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"detail"]) {

        ResultViewController* destVC = (ResultViewController*)segue.destinationViewController;

        destVC.myString = self.myLabel.text;
        destVC.navigationItem.title = self.myLabel.text;

    }
}

@end

ありがとうございました

4

2 に答える 2

2

同じラベルを別のビューにも挿入しようとしている理由。label.text (文字列) を別のビュー コントローラーの文字列に渡すだけです。次に、その文字列を使用して、viewdidload メソッドでこの文字列を使用して新しいラベルを作成します。nsuserdefaults を使用して値を渡すこともできます。

于 2012-11-26T14:03:35.177 に答える