Привет всем, вот забавный.У меня есть два ViewControllers: первый (срабатывает при загрузке приложения) -> отображает textField и кнопку.Когда кнопка нажата, текст в textField должен быть передан второму ViewController через метод действия кнопки.второй ViewController предназначен для отображения текста в метке.Строка остается пустой :-( Метка не изменяется: - (
Другое, что я сделал - внутри метода действия первого ViewController - я создал новую UILabel (вы не можете увидеть ее здесь ...), установите его текстовое поле для ввода, который я получил от пользователя, затем я установил метку второго ViewController на эту. Метка все еще не изменилась, но по крайней мере текстовое поле новой метки изменилось.мог бы объяснить это и мне, а = я буду рад узнать еще одну новую вещь ...
первый код контроллера:
#import "FlipsideViewController.h"
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
UITextField *theTextInput;
}
@property (nonatomic, retain) IBOutlet UITextField *theTextInput;
- (IBAction)textFieldDoneEditing:(id)sender;
- (IBAction)showInfo:(id)sender;
@end
соответствующая часть .m ("FlipsideViewController"это второй ViewController, о котором я говорил):
- (IBAction)showInfo:(id)sender {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;
controller.textToTransmit.text = self.theTextInput.text;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
, а это второй ViewController:
#import <UIKit/UIKit.h>
@protocol FlipsideViewControllerDelegate;
@interface FlipsideViewController : UIViewController {
UILabel *textToTransmit;
id <FlipsideViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;
@property (nonatomic, retain) IBOutlet UILabel *textToTransmit;
- (IBAction)done:(id)sender;
-(void)updateLabel:(NSString *)str;
@end
@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end
и его файл .m:
#import "FlipsideViewController.h"
@implementation FlipsideViewController
@synthesize textToTransmit;
@synthesize delegate;
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
}
- (IBAction)done:(id)sender {
[self.delegate flipsideViewControllerDidFinish:self];
}
....
Любой изВы, у кого хватило терпения прочитать мой вопрос - я буду благодарен за ответ, который поможет мне двигаться вперед.
С уважением, Джо