UI_02 基础视图、程序启动流程

?、UITextField

UITextField(输?框):是控制?本输?和显?的控件

UITextField核?功能主要包含3个??: ?本显? 输?控制 外观配置

1、?本显?

//    textField.text = @"你好";

//    textField.textAlignment = NSTextAlignmentCenter;

textField.textColor = [UIColor blueColor];

textField.placeholder = @"请输入我爱编程";

textField.font = [UIFont fontWithName:@"" size:20];

2、输?控制

textField.enabled = YES;
    textField.clearsOnBeginEditing = NO;
    textField.secureTextEntry = YES;
    textField.keyboardType = UIKeyboardTypeDefault;

textField.returnKeyType = UIReturnKeyDefault;

//自定义键盘视图
    UIView * inputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 180)];
    inputView.backgroundColor = [UIColor blueColor];
    textField.inputView = inputView;
    [inputView release];
//自定义键盘辅助视图
    UIView * inputAccessaryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 60)];
    inputAccessaryView.backgroundColor = [UIColor yellowColor];
    textField.inputAccessoryView = inputAccessaryView;

[inputAccessaryView release];

3、外观控制

textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.clearButtonMode = UITextFieldViewModeWhileEditing;

//设置文本框左视图

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(0, 0, 40, 40);

[button setBackgroundImage:[UIImage imageNamed:@"face_monkey_2_24px_541648_easyicon.net.png"] forState:UIControlStateNormal];

textField.leftView = button;

textField.leftViewMode = UITextFieldViewModeAlways;



二、UIButton

UIButton * button = [UIButton buttonWithType:UIButtonTypeSystem];
//    button.backgroundColor = [UIColor blackColor];
    button.frame = CGRectMake(30, 100, 50, 50);
//    button.layer.cornerRadius = 20;
    //设置前景图片
    [button setImage:[UIImage imageNamed:@"" ] forState:UIControlStateNormal];
    //设置背景图片
    //设置普通状态下的背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
    //设置高亮状态下的背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"hilighted.png"] forState:UIControlStateHighlighted];
    //添加事件
    [button addTarget:self action:@selector(clickButton:) forControlEvents:UIControlEventTouchUpInside];
    //设置按钮title
    [button setTitle:@"绿鸟" forState:UIControlStateNormal];
    [button setTitle:@"蓝鸟" forState:UIControlStateHighlighted];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

- (void)clickButton:(UIButton *)button
{
    self.window.backgroundColor = [UIColor colorWithRed:random()%100/100.0 green:random()%100/100.0 blue:random()%100/100.0 alpha:1];
    button.backgroundColor = [UIColor whiteColor];

}



三、AppDelegate

****键盘收回****

1、将AppDelegate作为UITextField的delegate

@interface AppDelegate : UIResponder <UIApplicationDelegate, UITextFieldDelegate>

2、AppDelegate.m?件实现textFieldShouldReturn:?法

- (void)textFieldDidBeginEditing:(UITextField *)textField

{
    [textField becomeFirstResponder];
    NSLog(@"%s", __FUNCTION__);

}// became first responder

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{

NSLog(@"%s", __FUNCTION__);     // 输出方法名

[textField resignFirstResponder];
    return YES;

}// called when ‘return‘ key pressed. return NO to ignore.

3、添加代理

textField.delegate = self;

****触摸键盘外空白区域隐藏键盘****

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{
    UITouch *touch = [touches anyObject];
   
    if (![touch.view isKindOfClass: [UITextField class]] || ![touch.view isKindOfClass: [UITextView class]]) {

[self.window endEditing:YES];

}

[super touchesBegan:touches withEvent:event];

}



四、iOS程序启动流程

1、程序入口

int main(int argc, char * argv[]) {

@autoreleasepool {

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }

}

UIApplicationMain剖析:

argc: argv[].count

argv[]: 存放的是所有的参数

principalClassName:如果是nil,UIApplicationMain()函数会给系统创建一个UIApplication这个类的一个对象,而且是唯一的,叫做应用程序对象

delegateClassName:UIApplicationMain()使用给定类创建代理并给应用程序设置代理

UIApplicationMain()这个函数,开启事件循环

2、UIApplicationDelegate

UIApplicationDelegate是?个OC的协议。??声明了?堆?法,这些? 法都与应?程序运?状态有关,它们由应?程序代理实现。UIApplication 对象负责调?。

iOS生命周期:

程序启动:

application:didFinishLaunchingWithOptions:

applicationDidBecomeActive:

挂起:

applicationWillResignActive:     (tag:按两下Home键只发送此消息)

applicationDidEnterBackground:

恢复:

applicationWillEnterForeground:

applicationDidBecomeActive:     (tag:从此状态返回程序只发送此消息)

结束:

applicationWillResignActive:

applicationDidEnterBackground:

AppDelegate applicationWillTerminate:

输出函数名:

NSLog(@"%s", __FUNCTION__);

时间: 2024-10-12 16:45:18

UI_02 基础视图、程序启动流程的相关文章

UI开发----基础视图和程序启动流程(delegate)

//  Create by 郭仔  2015年04月13日22:10:23 今天介绍的基础视图包括:UITextField.UIButton 一.定义UITextField: 创建UITextField与创建UILabel的步骤很相似.? 1.开辟空间并初始化(如果本类有初始化?方法,使?用?自?己的;否则 使?用?父类的).? 2.设置?文本显?示.输?入相关的属性? 3.添加到?父视图上,?用以显?示? 4.释放 UITextField * textField = [[UITextField

load View 流程 程序启动流程

基本流程: loadView / nib文件  来加载view到内存 -> viewDidLoad 函数进一步初始化这些view -> 内存不足时, 调用viewDidUnload 函数释放掉views -> 当需要使用view时又回到第一步, 如此循环 viewWillAppear 方法: 试图即将过渡到屏幕上时调用, 程序启动顺序: 1. main.m 是程序入口. 2. UIApplicationMain() 创建应用程序对象, 并且为此对象指定委托, 检测程序的执行, 同时开启事

app程序启动流程

1.执行main函数 2.执行UIApplication main函数 3.创建UIApplication对象(注意UIApplication是一个单例对象,[UIApplication sharedApplication]) 4.创建UIApplication代理 5.开启主运行循环(Runloop,)注意主运行循环是由系统开启,子运行循环需要手动开启 6.加载infor.plist文件配置信息,判断是否有mainstorybord,如果有就去加载mainstorybord 7.应用程序启动完

iOS中程序启动流程

1.任何一个程序,无论是基于Mac OS 还是 iOS,程序都是从main.m文件的main函数开始执行的. #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]))

iOS程序启动流程(留有问题)

程序的简单运行流程: 读取Main.storyboard文件 创建箭头所指的ViewController对象 根据storyboard文件中描述创建ViewController的UIView对象 将UIView对象显示到用户眼前 从右侧库里直接拖拽UIButton/UITextField/UILabel等这些控件到storyboard里,就是在对应ViewController对象里创建了属性?

iOS 应用程序启动流程

#import <UIKit/UIKit.h> #import "AppDelegate.h" main 函数为程序入口 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 第三个参数为UIApplication 第四个参数为AppDelegate  

Objective-UI UITextField,UIButton,delegate程序启动流程

实际App中的登录界面并非由一个一个色块组成,而是由标签(UILabel),输入框(UITextField)和按钮(UIButton)组成.今天我们来看一下UITextField,通过今天的学习,希望我以及大家都能掌握UITextField的使用方法.我们进入主题. UITextField(输入框):是控制文本输入和显示的控件,在App中UITextField出现频率也很高,iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便我们进一步操作.在你不需要输入,可以使用收回键盘的方

程序启动流程

//将要开始编辑- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{    NSLog(@"快要开始编辑了");    return YES; } - (void)applicationWillResignActive:(UIApplication *)application//解除活跃状态{ NSLog(@"将要进入不活跃状态");} - (void)applicationDidEnterBac

iOS应用程序工程文件以及启动流程

iOS程序启动流程 完整启动流程 UIApplicationMain方法 UIApplication AppDelegate代理生命周期回调 UIWindow UIViewController控制器 控制器View的加载 iOS工程常见文件 xxx-Infoplist文件 InfoPliststrings xxx-Prefixpch Defaultpng Iconpng iOS程序启动流程 1. 完整启动流程 点击程序图标 执行main函数 执行UIApplicationMain函数 创建UIA