我有一个包含多个视图的程序,其中一个有标签(LabelView用于此问题),另一个有文本字段(TextView用于此问题)。我想从文本字段中获取信息,并将其放在标签上,我认为最简单的方法是从TextView调用LabelView方法。
我尝试了几件事:
我尝试在LabelView中添加一个方法,该方法使用参数更改了标签的值。然后在TextView中调用该方法并通过参数传递数据。
我尝试使用this问题制作代理人。不幸的是,最后一步(向settingView.viewControllerDelegate=self
方法添加viewDidLoad
)失败了。 settingView
是未声明的标识符。
有谁知道我应该做什么?
编辑:这是我用过Xman的父/子视图的想法。这是在TextView.m中:NSInteger curScore = [self.ToP1Score.text integerValue];
NSInteger curPhase = [self.ToP1Phase.text integerValue];
self.ToP1Score.text = [NSString stringWithFormat:@"%d", (curScore += [self.player1Txt.text integerValue])];
if ([self.player1Txt.text integerValue] < 50) {
self.ToP1Phase.text = [NSString stringWithFormat:@"%d", (curPhase += 1)];
}
答案 0 :(得分:2)
实现这一目标的两种方法。
1)将ChildView
设为ParentView
的子视图,以便您可以直接访问ParentView
中的ChildView
个属性,如下所示
<强> ParentView.h 强>
@interface ParentView : UIView
@property (nonatomic,strong) UITextField *mytextField;
@end
<强> ChildView.h中强>
#import "ParentView.h"
@interface ChildView : ParentView
@property (nonatomic,strong) UILabel *myLabel;
@end
2)使用通知
将其放在FirstView
所在的textField
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"sendData" object:yourTextFiels userInfo:nil];
将其放在SecondView
所在的Label
。
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeLabelValue:) name:@"sendData" object:nil];
以及此方法
-(void)changeLabelValue(NSNotification *)iRecognizer {
UITextField *myTextField = iRecognizer object];
//Here You can change the value of label
}
希望这会对您有所帮助。
答案 1 :(得分:0)
假设您正在将一些文本从firststViewController传递给secondViewController, 然后在firststviewcontroller中添加这些代码行
-(IBAction)goToNextScreen:(id)sender
{
secondViewController *newVc = [[secondViewController alloc]initWithNibName:@"secondViewController" bundle:nil];
// or if you are using storyboard
// NewViewController *newVc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];
newVc.text = @" Your text ";
[self.navigationController pushViewController:newVc animated:YES];
}
在2ndViewController.h文件中
#import <UIKit/UIKit.h>
@interface secondViewController : UIViewController
{
NSString text;
}
@property(nonatomic, retain)NSString text;
@property (weak, nonatomic) IBOutlet UILabel *lbl;
@end
<。>文件中的
#import "secondViewController.h"
@interface secondViewController ()
@end
@implementation secondViewController
@synthesize text,lbl;
- (void)viewDidLoad
{
lbl.text = text;
}
@end
希望这会对你有所帮助..别忘了投票......