1 #import "AppDelegate.h" 2 #import "ViewController.h" 3 4 @interface AppDelegate () 5 6 @end 7 8 @implementation AppDelegate 9 10 //程序启动完成调用 11 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 12 //系统创建window 13 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 14 //在window上创建视图控制器 15 self.window.rootViewController = [[ViewController alloc] init]; 16 //系统设置创建window的背景颜色 17 self.window.backgroundColor = [UIColor blackColor]; 18 //设置为主窗口并显示出来 19 [self.window makeKeyAndVisible]; 20 21 return YES; 22 } 23 24 25 26 #ifndef GlobalDefine_h 27 #define GlobalDefine_h 28 29 #define SCREENWIDTH [[UIScreen mainScreen] bounds].size.width 30 #define SCREENHEIGHT [[UIScreen mainScreen] bounds].size.height 31 32 #endif /* GlobalDefine_h */ 33 34 35 36 #import <UIKit/UIKit.h> 37 38 @interface ViewController : UIViewController <UITextFieldDelegate> 39 40 @property (nonatomic, strong) UIImageView *imgViewHomePage; 41 @property (nonatomic, strong) UIImageView *imgViewLine1; 42 @property (nonatomic, strong) UIImageView *imgViewLine2; 43 @property (nonatomic, strong) UIImageView *imgViewLogin; 44 @property (nonatomic, strong) UIImageView *imgViewCancel; 45 46 @property (nonatomic, strong) UITextField *textFieldUserName; 47 @property (nonatomic, strong) UITextField *textFieldPassword; 48 49 @property (nonatomic, strong) UIButton *buttonLogin; 50 @property (nonatomic, strong) UIButton *buttonEmpty; 51 52 @end 53 54 55 56 #import "ViewController.h" 57 #import "SecondViewController.h" 58 59 @interface ViewController () 60 61 @end 62 63 @implementation ViewController 64 65 - (void)viewDidLoad { 66 [super viewDidLoad]; 67 //设置主页面 68 _imgViewHomePage = [[UIImageView alloc] initWithFrame:CGRectMake(89, 92, 143, 48)]; 69 _imgViewHomePage.image = [UIImage imageNamed:@"img_首页Logo"]; 70 [self.view addSubview:_imgViewHomePage]; 71 72 //设置用户名线 73 _imgViewLine1 = [[UIImageView alloc] initWithFrame:CGRectMake(45, 262, 230, 1)]; 74 _imgViewLine1.image = [UIImage imageNamed:@"img_首页输入框底线"]; 75 [self.view addSubview:_imgViewLine1]; 76 77 //设置密码线 78 _imgViewLine2 = [[UIImageView alloc] initWithFrame:CGRectMake(45, 311, 230, 1)]; 79 _imgViewLine2.image = [UIImage imageNamed:@"img_首页输入框底线"]; 80 [self.view addSubview:_imgViewLine2]; 81 82 //设置登录imageView 83 _imgViewLogin = [[UIImageView alloc] initWithFrame:CGRectMake(45, 323, 230, 47)]; 84 _imgViewLogin.image = [UIImage imageNamed:@"btn_登录_n"]; 85 [self.view addSubview:_imgViewLogin]; 86 87 //设置取消imageView 88 _imgViewCancel = [[UIImageView alloc] initWithFrame:CGRectMake(252, 240, 22, 22)]; 89 _imgViewCancel.image = [UIImage imageNamed:@"btn_首页用户名取消"]; 90 [self.view addSubview:_imgViewCancel]; 91 92 //设置用户名TextField 93 _textFieldUserName = [[UITextField alloc] initWithFrame:CGRectMake(45, 232, 230, 30)]; 94 //占位符 95 // _textFieldUserName.placeholder = @"用户名"; 96 //设置占位符上字体的颜色!!! 97 _textFieldUserName.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"用户名" attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor grayColor], NSForegroundColorAttributeName,nil]];//设置占位符上字体的颜色 98 _textFieldUserName.textColor = [UIColor whiteColor]; 99 _textFieldUserName.delegate = self;//调用协议 100 [self.view addSubview:_textFieldUserName]; 101 102 //设置密码TextField 103 _textFieldPassword = [[UITextField alloc] initWithFrame:CGRectMake(45, 281, 230, 30)]; 104 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor grayColor], NSForegroundColorAttributeName,nil]; 105 _textFieldPassword.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"密码" attributes:dic]; 106 _textFieldPassword.textColor = [UIColor whiteColor]; 107 //使用密文 108 _textFieldPassword.secureTextEntry = YES; 109 _textFieldPassword.delegate = self; 110 [self.view addSubview:_textFieldPassword]; 111 112 //设置登录按钮 113 _buttonLogin = [UIButton buttonWithType:UIButtonTypeCustom]; 114 _buttonLogin.frame = CGRectMake(45, 323, 230, 47); 115 [self.view addSubview:_buttonLogin]; 116 //登录跳转 117 [_buttonLogin addTarget:self action:@selector(next:) forControlEvents:UIControlEventTouchUpInside]; 118 119 //设置清空按钮 120 _buttonEmpty = [UIButton buttonWithType:UIButtonTypeCustom]; 121 _buttonEmpty.frame = CGRectMake(252, 240, 22, 22); 122 [self.view addSubview:_buttonEmpty]; 123 //清空用户名和密码:跳转 124 [_buttonEmpty addTarget:self action:@selector(empty:) forControlEvents:UIControlEventTouchUpInside]; 125 126 } 127 128 //清空用户名的方法 129 -(void)empty:(id)sender 130 { 131 [_textFieldUserName setText:@""]; 132 [_textFieldPassword setText:@""]; 133 [_textFieldUserName isFirstResponder]; 134 } 135 136 //登录跳转方法 137 - (void)next:(id)sender 138 { 139 NSString *strUserName = @"Huashan"; 140 NSString *strPassWord = @"123456"; 141 if ([_textFieldUserName.text isEqualToString:strUserName] && [_textFieldPassword.text isEqualToString:strPassWord]) 142 { 143 //跳到下一个界面 144 SecondViewController *tempVC = [[SecondViewController alloc] init]; 145 [self presentViewController:tempVC animated:YES completion:nil]; 146 } 147 else 148 { 149 //跳出输入错误提示框 150 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告" message:@"用户名或密码错误,请重新输入" preferredStyle:UIAlertControllerStyleAlert]; 151 UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil]; 152 [alertController addAction:okAction]; 153 [self presentViewController:alertController animated:YES completion:nil]; 154 } 155 } 156 157 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 158 { 159 [_textFieldUserName resignFirstResponder]; 160 [_textFieldPassword resignFirstResponder]; 161 } 162 163 //点击文本框,界面随键盘出现,整体往上移动(关键词:UIView animate) 164 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 165 { 166 if (self.view.frame.origin.y == 0) 167 { 168 [UIView animateWithDuration:0.3 animations:^{ 169 self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y - 100, self.view.frame.size.width, self.view.frame.size.height); 170 }]; 171 } 172 return YES; 173 } 174 //随着键盘收缩,界面随着往下移动 175 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField 176 { 177 178 if (self.view.frame.origin.y == -100) 179 { 180 [UIView animateWithDuration:0.3 animations:^{ 181 self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + 100, self.view.frame.size.width, self.view.frame.size.height); 182 }]; 183 } 184 return YES; 185 } 186 187 188 - (BOOL)textFieldShouldReturn:(UITextField *)textField//按下return键盘收缩 189 { 190 [textField resignFirstResponder]; 191 return YES; 192 } 193 194 - (void)didReceiveMemoryWarning { 195 [super didReceiveMemoryWarning]; 196 // Dispose of any resources that can be recreated. 197 } 198 199 @end 200 201 202 203 #import <UIKit/UIKit.h> 204 205 @interface SecondViewController : UIViewController 206 207 @property (nonatomic, strong) UIScrollView *scrollView; 208 @property (nonatomic, strong) UIImageView *imgView; 209 @property (nonatomic, strong) UILabel *sortLabel; 210 @property (nonatomic, strong) UIButton *backButton; 211 212 @end 213 214 215 216 #import "SecondViewController.h" 217 #import "GlobalDefine.h" 218 219 @interface SecondViewController () 220 221 @end 222 223 @implementation SecondViewController 224 225 - (void)viewDidLoad 226 { 227 [super viewDidLoad]; 228 //设置滚动视图 229 _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT)]; 230 //滚动视图内容的宽高 231 _scrollView.contentSize = CGSizeMake(SCREENWIDTH, SCREENHEIGHT * 4); 232 //启用分页 233 _scrollView.pagingEnabled = YES; 234 //禁止弹动 235 _scrollView.bounces = NO; 236 [self.view addSubview:_scrollView]; 237 238 //添加4张图片,顺序上下 239 for (int i = 1; i < 5; ++i) 240 { 241 _sortLabel = [[UILabel alloc] initWithFrame:CGRectMake(SCREENWIDTH / 2 - 100, SCREENHEIGHT - 50, 200, 30)]; 242 _sortLabel.textAlignment = NSTextAlignmentCenter; 243 _sortLabel.textColor = [UIColor whiteColor]; 244 _sortLabel.font = [UIFont systemFontOfSize:15]; 245 246 _imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, SCREENHEIGHT * (i - 1), SCREENWIDTH, SCREENHEIGHT)]; 247 _imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", i]]; 248 _sortLabel.text = [NSString stringWithFormat:@"这是第%d张图片", i]; 249 [_imgView addSubview:_sortLabel]; 250 [_scrollView addSubview:_imgView]; 251 } 252 253 //退出(返回) 254 _backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 255 _backButton.frame = CGRectMake(30, 50, 60, 60); 256 [_backButton setTitle:@"退出" forState:UIControlStateNormal]; 257 [_backButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 258 // _backButton.tintColor = [UIColor whiteColor]; 259 _backButton.titleLabel.font = [UIFont systemFontOfSize:14]; 260 [self.view addSubview:_backButton]; 261 262 //退出跳转 263 [_backButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside]; 264 265 } 266 267 - (void)back:(id)sender 268 { 269 [self dismissViewControllerAnimated:YES completion:nil]; 270 } 271 272 - (void)didReceiveMemoryWarning { 273 [super didReceiveMemoryWarning]; 274 // Dispose of any resources that can be recreated. 275 } 276 277 /* 278 #pragma mark - Navigation 279 280 // In a storyboard-based application, you will often want to do a little preparation before navigation 281 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 282 // Get the new view controller using [segue destinationViewController]. 283 // Pass the selected object to the new view controller. 284 } 285 */ 286 287 @end