2010-03-05 4 views
0

У меня есть кнопка на вид, которая при нажатии открывает другой второй вид. Я хочу, чтобы метка во втором представлении изменялась в зависимости от метки кнопки, которая была нажата. Я попытался передать отправителя (id) в моей функции switchViews, но это не сработает. Пожалуйста помоги!Переход названия кнопки в новый вид

+0

Не могли бы вы поместить свой код, чтобы узнать, где проблема? –

ответ

0

О втором контроллере представления, создать в UILabel как свойство, т.е.

@interface MyViewcontroller : UIViewController { 
    UILabel *titleLabel; 
} 

@property (nonatomic, retain) IBOutlet UILabel *titleLabel; 

и, в интерфейсе строителя, прикрепить его к метке, которую вы хотите изменить.

Затем в методе switchViews вашего первого контроллера представления, после создания второго вида вы можете установить заголовок, как это:

... 
MyViewController *newViewController = [[MyViewController alloc] initWithNibName:'something' bundle:nil]; 
newViewController.view.titleLabel.text = @"Your new title goes here"; 
... 

Надежду, что помогает.

0

Передающий отправитель должен работать. Просто отправьте отправителя в UIButton * и возьмите заголовок для состояния с titleForState :. Вот рабочий код:

- (void)applicationDidFinishLaunching:(UIApplication *)application {  
    [window makeKeyAndVisible]; 
    UIButton * myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    myButton.frame = CGRectMake(100, 100, 100,80); 
    [myButton setTitle:@"test title" forState:UIControlStateNormal]; 
    [myButton addTarget:self action:@selector(myButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
    [window addSubview:myButton]; 
} 

- (void)myButtonClicked:(id)sender{ 
    UIButton * clickedButton = (UIButton *)sender; 
    NSString * buttonTitle = [clickedButton titleForState:UIControlStateNormal]; 
    NSLog(@"title: %@",buttonTitle); 
    UILabel * myLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 250, 100,80)]; 
    myLabel.text = buttonTitle; 
    [window addSubview:myLabel]; 
} 
Смежные вопросы