iOS UI 基础篇:button、textFiled、timer、alert

一、程序的启动流程
任何⼀个程序,无论是基于Mac OS还是iOS,程序都是从main.m⽂件的main函数开始执⾏行的。

	int main(int argc, char * argv[])
	{
    		@autoreleasepool
		{
        	return UIApplicationMain(argc, argv, nil,NSStringFromClass([AppDelegate class]));
    		}
	}
执⾏行UIApplicationMain函数时做了跳转,转到了AppDelete中

在AppDelete中
	// 初始化一个window
  	self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds ]];
    //设置窗口可见
    [self.window makeKeyAndVisible];
    
    //设置一个视图控制器
    MainViewController *main=[[MainViewController alloc]init];
    self.window.rootViewController=main;

二、UITextField的属性
1、text:要显⽰示的⽂文本内容
textField.text = @“text”;
2、textColor:⽂本内容的颜色
textField.textColor = [UIColor redColor];
3、textAlignment:⽂本的对⻬⽅方式(⽔平方向)
textField.textAlignment = NSTextAlignmentLeft; 包括字体颜色、对⻬齐⽅方式、占位符等等
 4、font:文本字体
textField.font = [UIFont fontWithName:@“Helvetica- Bold”size:20];//黑体加粗,20号字。
5、placeholder:占位字符串(没有任何输入时,给出的提示字符串)
textField.placeholder = @“请输入⽤用户名”;
6、enabled:是否允许输入
textField.enabled =NO;//不允许输入,不弹出建键盘
textField.enabled =YES;//默认是YES。允许输⼊盘等
7、clearsOnBeginEditing:是否开始输⼊入的时候清空输⼊入框内容
textField.clearsOnBeginEditing = YES;//清空

			textField.clearsOnBeginEditing = NO;//不清空
8、secureTextEntry:是否⽂文字以圆点格式显⽰示
	textField.secureTextEntry = YES;//密码模式
	
	textField.secureTextEntry = NO;//普通模式
9、keyboardType:弹出键盘的类型(枚举值)
	textField.keyboardType = UIKeyboardTypeNumberPad; //数字键盘
10、returnKeyType:键盘右下⾓角return按钮类型(枚举 值)
	textField.returnKeyType = UIReturnKeyNext;
11、inputView:自定义输入视图(默认是键盘)
	textField.inputView = myInputView;
12、inputAccessoryView:输入视图上⽅的辅助视图(默认nil)
	textField.inputAccessoryView = myAccessoryView;
13、borderStyle :边框样式(枚举值) 
	textField.borderStyle = UITextBorderStyleRoundedRect; 
14、clearButtonMode:清除按钮模式(枚举值)
	textField.clearButtonMode = UITextFieldViewModeAlways; //总是显示清除按钮
15、leftView:输⼊入框左视图
	textField.leftView = leftView;
16、leftViewMode:左视图的显⽰示模式
	textField.leftViewMode = UITextFieldViewModeAlways; //总是显示左视图
17、rightView:输⼊入框右视图
	textField.rightView = rightView;
18、rightViewMode:右视图的显示模式
	textField.rightViewMode = UITextFieldViewModeAlways;

三、使用系统系协议的三大步骤
//1、添加协议
//2、设置代理
//3、实现协议方法

四、UIText常用代理方法

	- (BOOL)textFieldShouldReturn:(UITextField *)textField
	{
    		NSLog(@"当点击retain键的时候后执行该方法");
   		[textField resignFirstResponder];
    		//取消键盘
    		return YES;
	}
	
	- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
	{
    		NSLog(@"文本框将要执行时执行该方法");
    		//如果返回值为no,就认为不可编辑
    		return YES;
	}

	- (void)textFieldDidBeginEditing:(UITextField *)textField
	{
    		NSLog(@"文本框正在执行时执行该方法");
	}

	- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
	{
    		NSLog(@"文本框将要结束时");
    		return YES;
	}

	- (void)textFieldDidEndEditing:(UITextField *)textField
	{
    		NSLog(@"文本框已经结束编辑时执行的方法");
    		NSLog(@"文本框内容为%@",textField.text);
	}

五、UIButton

	UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(100, 100, 50, 50)];
	//创建一个button
   
    button.backgroundColor=[UIColor redColor];
	//设置背景色

   	[button setTitle:@“按钮” forState:UIControlStateNormal];
    //设置标题和状态

    button.titleLabel.font=[UIFont systemFontOfSize:40];	
	//设置标题样式

    //button.titleLabel.textColor=[UIColor redColor];//无效的设置颜色
    [button setTitleColor:[UIColor cyanColor]forState:UIControlStateNormal];//正确的颜色设置
    
    //设置高亮状态下的title
    [button setTitle:@"B" forState:UIControlStateHighlighted];
    [button setTitleColor:[UIColor greenColor]forState:UIControlStateHighlighted];

	//设置背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"001.png"] forState:UIControlStateNormal];
注:button相当于几个控件的组合,所以设置标题样式和颜色就要取到button的label来进行操作
	//target 事件的触发目标,一般是自己
    //action 触发什么方法
   	//Events 触发事件的方式
    [button addTarget:self action:@selector(doButton:)forControlEvents:UIControlEventTouchDown];
	
	//doButton:方法
	-(void)doButton:(UIButton*)btn
	{
    		//这里的btn,就是外面被按的按钮
    		NSLog(@"%@",btn.titleLabel.text);
    		NSLog(@"%@",[btn titleForState:UIControlStateNormal]);  
	}
注:在按键的方法里面,可以做很多操作。如果操作本类中的其他视图对象,如果是在属性中声明过了的话,可以直接对属性进操作。如果不是属性中声明的视图,添加到self.view 里面的,想要取到对象操作需要使用tag属性。
例如:声明一个label,想要对其进行改变,就需要使用tag
		UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(100, 200, 100, 50)];
    	lable.text=@"naan";
    	lable.tag=1;
    	[self.view addSubview:label];
但是注意一点,用[self.view viewWithTag:1]取到的对象是view,无法对其赋label下的text的值,这个时候就需要建一个指针指向,并且强制转换成label对象
UILabel *l=(UILabel*)[self.view viewWithTag:1];
这样就可以对label进行操作了

六、RGBA

//改变背景颜色,颜色随机生成
-(void)actton:(UIButton *)btn
	{
    		red=(arc4random()%255)/255.0;
    		green=(arc4random()%255)/255.0;
    		blue=(arc4random()%255)/255.0;
    
    		self.view.backgroundColor=[UIColor colorWithRed:red green:green blue:blue alpha:1];
	}
UIColor中有个静态方法是colorWithRed: green: blue: alpha: 。这个方法生成颜色是RGB值
RGB值的范围0~255,在方法中范围是0~1,所以在之前做了一个转换。最后一个属性是设置的透明度

七、NSTimer
在改变背景色的方法中,想要自动的隔几秒换背景色,这个时候就要使用到计时器。

定时器的使用
	 NSTimer* timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(actton:) userInfo:nil repeats:YES];
	//TimeInterval :时间间隔,单位秒
	//target:执行主体,self
	//selector:执行的方法
	//userInfo:信息
	//repeats:是否重复

	[timer fire];//计时器开始执行
	[timer invalidate];//计时器停止执行

八、UIAlertView警告框
1、必须要show
2、message:警告框的主要内容
3、当只有一个other键,取消键在左边
4、当有多个other键,取消键在最下面,其他按顺序来

	UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"标题" message:@"显示的信息" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
    
    	[alert show];

	//取消键的索引为零
    	switch (buttonIndex) {
        case 0:
            NSLog(@"取消");
            break;
        case 1:
            NSLog(@"其他按钮的第一个");
            break;
        case 2:
		    NSLog(@“其他按钮的第二个,以此类推”);
			break;
        default:
            break;
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值