在viewOne中,我有labelOne,labelOne有文本。我想在标签中使用labelTwo从labelOne获取它的文本(在viewOne中)。
我将如何实现这一目标?
更多信息 - 我有两个独立的视图控制器由UIPageViewController控制。
答案 0 :(得分:1)
您可以为UILabel添加标签,然后使用
UILable *l = ((UILable*)view.viewWithTag)
从视图中获取标签
或迭代其子视图,检查是否找到UILabel
for (UIView *subview in view.subviews)
{
if ([subview isKindOfClass:[UILable class]) {
UILable *l = (UILable *)subview;
}
}
答案 1 :(得分:1)
在故事板中选择第一个视图控制器,然后选择控制 从第一个视图拖动到第二个视图控制器
从您看到的列表中选择推送。
选择两个视图之间新添加的行 控制器。
为其指定名称。(如“PushSegue”)
在第一个视图控制器中添加代码按钮单击。
[self performSegueWithIdentifier:@"PushSegue" sender:self];
然后为PrepareForSegue添加Delegate
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ListMenuSegue"])
{
SecondViewController *SecondVC = [segue destinationViewController];
userViewController.Lable_String=@"Text_to_send"; //You will Get error here for Lable_String ->"Property not found etc" Becuse
}
在secondViewController.h中添加此代码
@property(strong,nonatomic)NSString *Lable_String;
然后在secondViewController.m中打印字符串值
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@",Lable_String);
}
答案 2 :(得分:0)
你可以在viewTwo中创建label的属性。当你在viewOne中执行segue然后将labelOne文本分配给viewTwo的label属性。在viewTwo中,didLoad方法从属性标签获取文本并将这些文本提供给labelTwo of viewTwo
答案 3 :(得分:0)
您可以为每个标签指定标签,例如
labelOne.tag = 1001;
在viewTwo类中,您可以获得labelOne
UILabel *labelOne = (UILabel *)[self.superview viewWithTag:1001];
如果viewOne,viewTwo都添加到同一个视图/视图控制器上,这将有效。