不同的视图为不同的按钮iPhone

时间:2010-12-04 11:00:47

标签: iphone cocoa-touch

我是iPhone应用程序开发的新手。 我想开发一个iPhone应用程序,因为启动应用程序时,会为用户显示两个按钮。 按钮1用于用户登录。 按钮2用于用户注册。

如何为每个按钮添加视图,如果按下Login按钮,则该视图加载了少量文本字段和登录按钮,而如果按下Registration按钮,则注册视图加载了少量文本字段和按钮确认注册。

很少有多个视图的教程,但是他们在一个视图上只有一个按钮,按下该按钮,下一个视图加载了一个按钮来加载下一个视图,依此类推。在我的情况下,我想在加载应用程序时在一个视图上有许多按钮(当前至少为2),然后根据按下的按钮加载该视图。

非常感谢任何示例代码或教程链接。

提前致谢。

2 个答案:

答案 0 :(得分:2)

为此方法制作一个方法和注册按钮事件

[button1 addTarget:self 
            action:@selector(buttonClicked:)
  forControlEvents:UIControlEventTouchUpInside];  

[button2 addTarget:self 
            action:@selector(buttonClicked:)
  forControlEvents:UIControlEventTouchUpInside];  

例如:

-(IBAction)buttonClicked : (id)sender
{
    UIButton * btn = (UIButton *)sender;
    if (btn == button1) {
        LoginViewController * controller = [[LoginViewController alloc] initWithNibName:@ "LoginViewController" bundle:nil];
        [self.navigationController pushViewController : controller animated : YES];
        [controller release];
    } else if (btn == button2) {
        RegisterViewController * controller = [[RegisterViewController alloc] initWithNibName:@ "RegisterViewController" bundle:nil];
        [self.navigationController pushViewController : controller animated : YES];
        [controller release];
    }
}

答案 1 :(得分:0)

你想在界面构建器中创建视图,然后在按钮1上,你将使用像

这样的代码
ViewControllerSubClass1 *viewController1=[[ViewControllerSubClass1 alloc] initWithNibName:@"nibname1" bundle:nil];
[self.navigationController pushViewController:viewController1];
[viewController1 release];

对于按钮2,您将使用

ViewControllerSubClass2 *viewController2=[[ViewControllerSubClass2 alloc] initWithNibName:@"nibname2" bundle:nil];
[self.navigationController pushViewController:viewController2];
[viewController2 release];