登陆界面和界面跳转

2个uilabel

2个textfield 

1个Button 按钮

实现功能的话有以下几点

1.其中输入账号后点击 NEXT 跳到 密码框.

2.点击密码输入框 显示DONE 点击done的话 直接进行登陆验证

3.点击背景 将 键盘隐藏

4.点击 登陆按钮 进行登陆 验证 

首先先新建一个项目.如下图,选择单一视图项目

然后 将对应的控件拖拽到对应的位置.并修改文字描述

排成图一的样子

控件的细节属性我就不做介绍了,选择对应的Textfield控件 分别在 Placeholder中输入"请输入账号" 和"请输入密码" 该属性就是 在文本输入框没有输入内容时显示的数据

完成后的效果如下

还有个两个属性分别是return key 和Secure  

修改return key的话就是修改 键盘上的结束键.这个大家可以修改下看看就知道了

然后是Secure属性.该属性就是常见的密码选项.选择了后 输入的内容就会显示为****** 所以在密码的Textfield  的属性中需要选择该属性


然后是.h文件 .还是一样的 直接上代码

复制代码
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    UIButton *loginButton;
    UITextField *pwdTextField;
    UITextField *uidTextField;
}
@property(nonatomic,retain) IBOutlet UIButton *loginButton;
@property(nonatomic,retain) IBOutlet UITextField *uidTextField;
@property(nonatomic,retain) IBOutlet UITextField *pwdTextField;

-(IBAction)loginButtonPressed:(id)sender;
-(IBAction)backgroundTap:(id)sender;
-(IBAction)uidDidEndOnExit:(id)sender;
-(void)initNav:(NSString *)pid;
@end
复制代码

这边我分别定义了三个属性和4个方法 

loginButton  pwdTextField  uidTextField  

这三个就分别对应着我们 的 登陆按钮 . 密码输入框和账号输入框三个稍后会讲怎么样形成关联

然后是4个方法分别用来处理  登陆按钮点击事件, 背景点击事件 , 账号输入完成事件,以及登陆成功后界面切换事件  initNav

然后回到XIB文件

按住CTRL键同时左键点击 然后移动鼠标,会出现一条蓝色的线. 将蓝色的线连接到 账号输入框上

便会出现刚刚在.H文件中的属性.然后选择与之相对应的 属性 ,就完成了连接了(这边是QQ截图的  有点暗可能看步清楚.不过大家试下就知道了)

然后用同样的方法 分别连接 密码输入框和按钮. 就完成了连接

 

接下来我们选择 账号输入框 在右边属性栏选择事件 

选择Did End on Exit 点击右边的小圆圈 同样的拉动话,会出现一条蓝线,然后 拖拽到左边的 

然后选择uidDidEndOnExit事件,

用同样的方法 分别将密码输入 的Did End on Exit事件连接到 loginButtonPressed

登陆按钮的Touch up inside 事件连接到loginButtonPressed

这样的话 我们就将 对应的事件绑定到对应的控件上面了 

最后还有一个点击背景的事件这边有点复杂

首先需要选择 背景

然后找到属性中的class 将其修改为UIControl  否则的话 他是没有对应的点击事件的

然后同样的 选择 tuochdown 事件 连接到 

backgroundTap 事件上去

 

最后进入.m文件实现具体的 操作

好了直接上代码

复制代码
//点击背景隐藏输入框
-(IBAction)backgroundTap:(id)sender
{
    [pwdTextField resignFirstResponder];
    [uidTextField resignFirstResponder];
    
}
-(IBAction)uidDidEndOnExit:(id)sender{
    [pwdTextField  becomeFirstResponder];
}
复制代码

这个方法 分别是 移除对应的焦点,以及使某个控件成为焦点 ..就实现了 点击背景 .隐藏键盘 以及点击NEXT 跳转到 密码输入框的功能

 

然后就是我们的重点了 

longinbutton点击事件

复制代码
-(void)loginButtonPressed:(id)sender{
    GetWebInfo *getwebinfo=[GetWebInfo alloc];
    NSString *myparameters=[[NSString alloc] initWithString:[NSString stringWithFormat:@"&Method=Login&uid=%@&pwd=%@",uidTextField.text,pwdTextField.text]];
    getwebinfo.parameters=myparameters;
    NSString *webReturnMessage=[getwebinfo dogetWebInfo];
    NSData* jsonData=[webReturnMessage dataUsingEncoding:NSUTF8StringEncoding];
    NSArray *keys =   [NSJSONSerialization
                       JSONObjectWithData:jsonData
                       options:NSJSONReadingMutableContainers
                       error:nil];
    NSString *result=[keys valueForKey:@"Result"];
    if([result isEqual:@"False"])
    {
        UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"登陆失败" message:@"密码错误或者网络连接失败" delegate:self
                                            cancelButtonTitle:@"确定" otherButtonTitles: nil];
        [alert show];
    }
    else{

        [self initNav:[[keys valueForKey:@"Data"] valueForKey:@"ID"]];
    
    }
 }
复制代码

首先是利用我们前两篇建的GETWEBINFO 类来获取数据

然后判断是否登录成功

如果登录成功就调用initNav方法 并传递数据过去.否则就提示密码输入错误


最后要讲的就是 initNav 方法了 .initNav方法主要就是实现登录后的页面跳转..以前刚学的时候在这里纠结了好久 好了直接上代码吧.

 

这边我们首先要新建两个 UIViewController 分别命名为A和B 吧

复制代码
-(void)initSmallP:(NSString *)pid
{
    AViewController *aViewController =[[AViewController alloc]initWithNibName:@"AViewController" bundle:nil];
    BViewController *bViewController = [[BViewController alloc]initWithNibName:@"BViewController" bundle:nil] ;
    UINavigationController *aNavController=[[UINavigationController alloc]initWithRootViewController:aViewController];
   UINavigationController *bNavController=[[UINavigationController alloc] initWithRootViewController:bViewController]; 
  UITabBarController *tabController=[[UITabBarController alloc] init];
   [tabController setViewControllers:[NSMutableArray arrayWithObjects:aNavController,bNavController,nil]]; 
  AppDelegate * app = (AppDelegate*)[[UIApplication sharedApplication] delegate] ;
   [app.window setRootViewController:tabController];
 }
复制代码
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio登陆界面跳转可以通过以下步骤实现: 1. 在登陆界面布局文件中添加一个按钮,用于跳转到下一个界面。 2. 在Activity中获取该按钮,并为其设置点击事件。 3. 在点击事件中使用Intent跳转到下一个界面。 示例代码如下: 1. 在登陆界面布局文件中添加一个按钮: ``` <Button android:id="@+id/btn_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登陆" android:layout_marginTop="20dp" android:layout_gravity="center_horizontal"/> ``` 2. 在Activity中获取该按钮,并为其设置点击事件: ``` public class LoginActivity extends AppCompatActivity { private Button mBtnLogin; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mBtnLogin = findViewById(R.id.btn_login); mBtnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 点击事件中跳转到下一个界面 Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); } }); } } ``` 3. 在点击事件中使用Intent跳转到下一个界面。这里跳转到MainActivity,可以根据实际情况修改。 需要注意的是,跳转到下一个界面前需要先进行登陆验证等操作,否则可能会出现安全问题。 希望能对你有所帮助! ### 回答2: 在Android开发中,登陆界面跳转是一个非常常见的需求。一般来说,登陆界面跳转的实现步骤如下: 1.设计登陆界面 首先,我们需要设计一个简洁、美观的登陆界面登陆界面中要包含两个输入框,分别用于输入用户名和密码,还需要一个按钮,用于触发登陆事件,并将用户的输入信息提交到服务器进行验证。 2.编写登陆代码界面设计好之后,我们就需要编写登陆代码了。首先,我们需要获取用户输入的用户名和密码,然后将其封装成请求参数,发送到服务器进行验证。如果验证成功,就将用户信息保存到本地,并跳转到目标界面。如果验证失败,则需要给用户提示错误信息。 3.实现页面跳转 在Android Studio中,页面跳转通常使用Intent类来实现。我们可以在登陆成功后,创建一个Intent对象,并使用startActivity()方法来启动目标界面,实现页面跳转。 总之,登陆界面跳转是Android应用程序开发中必不可少的一部分。在实现登陆界面跳转时,我们需要注意UI设计、请求验证、页面跳转等方面的细节,以确保实现一个优秀的、完善的应用程序。 ### 回答3: Android Studio 是一款非常强大的开发工具,开发者可以利用它创建众多类型的 Android 应用程序。在大多数应用程序中,登陆界面是必不可少的功能,因此本文将讨论如何在 Android Studio 中实现登陆界面跳转。 实现登陆界面跳转包含两个步骤: 1. 创建登陆界面 2. 实现跳转 1. 创建登陆界面 创建登陆界面的方法有很多,但最常见的方法是使用 XML 布局文件。下面是一个简单的登陆界面示例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal"> <EditText android:id="@+id/et_email" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Email" android:padding="16dp"/> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:padding="16dp" android:inputType="textPassword"/> <Button android:id="@+id/btn_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Log in"/> </LinearLayout> 上述示例包含两个 EditText 组件用于输入邮箱和密码,以及一个 Button 组件用于登陆。使用这个布局文件创建完整的登陆界面非常简单,只需在相应的 Java 类中引用即可。 2. 实现跳转 要实现登陆界面跳转,我们需要新建一个 Activity 并将其与上述布局文件关联。接下来,我们将编写代码来处理登陆逻辑并实现界面之间的跳转。 首先,在 XML 布局文件中,给登陆按钮添加一个 OnClickListener 事件,当用户单击按钮时,触发登陆事件。 <Button android:id="@+id/btn_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Log in" android:onClick="loginClicked"/> 接着,在 Java 类中添加一个名为 loginClicked 的方法,处理登陆逻辑和界面跳转。 public void loginClicked(View view) { // 获取用户输入的邮箱和密码 String email = ((EditText) findViewById(R.id.et_email)).getText().toString(); String password = ((EditText) findViewById(R.id.et_password)).getText().toString(); // 验证输入的邮箱和密码是否正确 if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) { Toast.makeText(this, "Please enter email and password", Toast.LENGTH_SHORT).show(); return; } else if (!email.equals("[email protected]") || !password.equals("password")) { Toast.makeText(this, "Email or password is incorrect", Toast.LENGTH_SHORT).show(); return; } // 如果登陆成功,跳转到主页 Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } 在上述代码中,我们使用 TextUtils.isEmpty() 方法检查用户是否输入了邮箱和密码,然后检查输入的邮箱和密码是否正确。如果输入正确,我们使用 Intent 类创建一个新的 Intent,指定要跳转到的 Activity,然后使用 startActivity() 方法启动新的 Activity。最后,我们调用 finish() 方法关闭当前 Activity。 总结 本文介绍了在 Android Studio 中实现登陆界面跳转的步骤。要实现跳转,我们需要创建一个登陆界面和一个用于验证登陆的 Java 类,并在 Java 类中处理跳转逻辑。希望这篇文章对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值