1.呼出控件窗口快捷键
控件窗口在xcod11中被隐藏为一个加号+
shift+command+L
2.输入文本框使用数字键盘
在文本框使用数字键盘,在TextField上设置keyboard Type的属性值为:Number Pad
3.呼出键盘快捷键
command+K
4.呼出主页面快捷键
command+shift+H(home)
5.拖线生成属性和方法
拖线选择
outlet生成属性
action生成方法
5.设置控件作为第一相应者
使用 resignFirstResponder
[self.textNumber resignFirstResponder];
6.停止view控件的编辑(缩回键盘)
让控制器管理的view做endEditing
这里view是控件所在的view
[self.view endEditing:YES];
7.结构体的赋值
不能对结构体的属性直接赋值,而应当将整个结构体取出后,在对结构体属性赋值。
下面的例子为按钮点击后让另一个控件发生位移
//4个箭头按钮的实现
- (IBAction)upArrow {
CGRect originFrame=self.btnTtwoGril.frame;
originFrame.origin.y-=10;
self.btnTtwoGril.frame=originFrame;
NSLog(@"向上的箭头");
}
8.多个按钮共用一个方法(类似Java一个按钮实现同一个特定的监听器)
1、将多个按钮通过拖线的形式,拖拽到同一个方法上(写在类扩展里)
2、拖拽的时候选中sender,sender是将调用的对象直接传递到方法上,从而实现多个按钮的行为触发同一个方法。
3、方法对调用对象的甄别,是通过每个按钮控件的tag值来判断的
- (IBAction)move:(UIButton *)sender {
CGRect originalframe=self.btnTtwoGril.frame;
switch (sender.tag) {
case 10:
originalframe.origin.y-=10;
break;
case 20:
originalframe.origin.x+=10;
break;
case 30:
originalframe.origin.y+=10;
break;
case 40:
originalframe.origin.x-=10;
break;
default:
break;
}
self.btnTtwoGril.frame=originalframe;
}
对对象的缩放可以使用CGRect结构体的bounds.size.wdith(height)进行缩放。
9.给特定内容设置动画
- (IBAction)move:(UIButton *)sender {
CGRect originalframe=self.btnTtwoGril.frame;
switch (sender.tag) {
case 10:
originalframe.origin.y-=100;
break;
case 20:
originalframe.origin.x+=100;
break;
case 30:
originalframe.origin.y+=100;
break;
case 40:
originalframe.origin.x-=100;
break;
default:
break;
}
//1开启动画(这种方式在xcode11.3中已经过时)
[UIView beginAnimations:nil context:nil];
//2设置动画执行时间
[UIView setAnimationDuration:1];//动画持续时间1秒钟
self.btnTtwoGril.frame=originalframe;
//3提交动画
[UIView commitAnimations];
NSLog(@"response four button");
}
另外一例修改缩放(大小)
- (IBAction)scaler:(UIButton *)sender {
CGRect originalBound=self.btnTtwoGril.bounds;
switch (sender.tag) {
case 50:
originalBound.size.width*=1.5;
originalBound.size.height*=1.5;
break;
case 60:
originalBound.size.width*=0.7;
originalBound.size.height*=0.7;
break;
default:
break;
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
self.btnTtwoGril.bounds=originalBound;
[UIView commitAnimations];
}
使用block块来实现缩放。并使用CGRect.frame结构体来实现实现缩放
- (IBAction)scaler:(UIButton *)sender {
CGRect originalFrame=self.btnTtwoGril.frame;
switch (sender.tag) {
case 50:
originalFrame.size.width*=1.5;
originalFrame.size.height*=1.5;
break;
case 60:
originalFrame.size.width*=0.7;
originalFrame.size.height*=0.7;
break;
default:
break;
}
//使用block快来实现动画(这里使用的是匿名块)
[UIView animateWithDuration:1 animations: ^{
self.btnTtwoGril.frame=originalFrame;
}];
}
10.使用纯代码方式生成一个按钮(动态生成按钮)
在viewdidload方法中实现代码
- (void)viewDidLoad {
[super viewDidLoad];
//创建按钮对象
UIButton *button=[[UIButton alloc]init];
//设置按钮文本
[button setTitle:@"点我吧" forState:UIControlStateNormal];
[button setTitle:@"美洋洋" forState:UIControlStateHighlighted];
//设置文本颜色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
//设置默认状态背景图
UIImage *imgNormal=[UIImage imageNamed:@"wangyjiao"];
UIImage *imgHighLight=[UIImage imageNamed:@"wangyang"];
[button setBackgroundImage:imgNormal forState:UIControlStateNormal];
[button setBackgroundImage:imgHighLight forState:UIControlStateHighlighted];
//设置控件的frame
button.frame=CGRectMake(100, 200, 90, 90);
//将控件加入到view对象中
[self.view addSubview:button];
}
11.为动态生成的按钮注册事件(创建事件方法)
- (void)viewDidLoad {
[super viewDidLoad];
//创建按钮对象
UIButton *button=[[UIButton alloc]init];
//设置按钮文本
[button setTitle:@"点我吧" forState:UIControlStateNormal];
[button setTitle:@"美洋洋" forState:UIControlStateHighlighted];
//设置文本颜色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
//设置默认状态背景图
UIImage *imgNormal=[UIImage imageNamed:@"wangyjiao"];
UIImage *imgHighLight=[UIImage imageNamed:@"wangyang"];
[button setBackgroundImage:imgNormal forState:UIControlStateNormal];
[button setBackgroundImage:imgHighLight forState:UIControlStateHighlighted];
//设置控件的frame
button.frame=CGRectMake(100, 200, 90, 90);
//将控件加入到view对象中
[self.view addSubview:button];
//通过代码为按钮注册一个事件
[button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
}
//创建一个事件处理方法
-(void)buttonClick{
NSLog(@"为一个按钮注册单击事件");
}