【Objective-C学习记录】第三十六天
今天学习了一下UILabel UITextField UIButton UIImage这几个基础控件,UILabel没什么好说的,因为不涉及到交换的工作,记住几个属性就行了。
UITextField这个东西,遇到了不少问题。我用的是XCode7.2,建立空应用(Empty Application)后,UITextField里无论怎么点击都没有反应,用XCode6.3打开却是正常的,后来也不知道为什么时而正常时而报错,找了一下午问题还是没找到,只能先用6.3做着了。
说到UITextField,主要是键盘类型的设置,还有如何撤回键盘这个操作,学到了两种方式:
1.实现UITextFieldDelegate协议里的textFieldShouldReturn:方法:
1 - (BOOL)textFieldShouldReturn:(UITextField *)textField 2 { 3 [textField resignFirstResponder]; 4 return YES; 5 }
textFieldShouldReturn:这个方法是指按下键盘上的return键时执行的方法,当按下后正在输入的textField会放弃第一响应者,即撤回键盘。
2.实现touchesBegan: withEvent:方法
这个方法在网上查到的,不多说,直接上代码:
1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 2 { 3 [self.window endEditing:YES]; 4 }
这个方法大概做的事情是当检测到在屏幕空白区上按下时,会结束编辑状态。感觉这个方法比上面那个常用。
UIButton主要注意systemButton和customButton的一些小区别,注册事件使用addTarget: action: forControlEvents:方法,第一个参数一般是self,第二个参数为SEL即方法名,第三个参数是何种方式触发该button,一般使用UIControlEventTouchUpInside这个值。
UIImage可以用来制作帧动画,并且需要注意的是如果图片格式为png,可以不写扩展名,其他格式必须写,主要步骤如下:
1.实例化UIImageView对象
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
2.实例化一个可变数组用来存放帧动画的图片
NSMutableArray *imageViewArray = [[NSMutableArray alloc] initWithCapacity: 0];
3.遍历图片,存在可变数组里(假设有10张,名字为“sprite0~9”)
for (int i = 0; i < 10; i ++)
{
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"sprite%d", i]];
[imageViewArray addObject: image];
}
4.将帧动画数组指定给imageView
imageView.animationImages = imageViewArray;
另外还可以设置一些其他属性,包括动画时长:animationDuration
重复次数:animationRepeatCount(为0的时候表示一直重复)
================写在后面=============
今天忙了一天,主要是XCode的那个bug让我头疼不已,另外打算用WordPress把以前丑陋不堪的主页重新做一遍,做好了博客肯定会转移到自己的主页上,今天写的略为仓促,主要是写完要继续搭WordPress,不说了,Go go。