#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
#pragma mark 控制器的view 加载完毕的时候会调用一次
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//用代码添加按钮的步骤
//1.创建按钮(因为任何对象都是用类来创建的)
//1.1按钮的对象是UIButton这个类,所以创建类的方法就是[[UIButton alloc] init]
UIButton *button = [[UIButtonalloc] init];
//1.2尺寸和位置是用到frame这个属性,frame属性中有坐标和宽高 CGRectMake(CGFloat x, CGFloat y, CGSize weidht, CGSize height );
button.frame =CGRectMake(20,20, 50, 50);
//1.3设置按钮普通状态下的属性
//1.3.1设置背景图片 setBackgroundImage:(UIImage *) forState:(UIControlState) (UIImage *)这里是一个对象,不能直接传字符串,不需要把图片设置为对象,然后传进来
//forState 是状态,这里有两个,一个是普通, UIControlStateNormal 一个是高亮 UIControlStateHighlighted
//创建普通状态下得图片,调用这个imageNamed:(NSString *); 这个方法是只要调用这个方法,把图片的文件名加进来,就会创建图片对象,然后把这个对象传到下面哪行代码中。
UIImage *normal = [UIImageimageNamed:@"xiao.jpg"];
[button setBackgroundImage:normalforState:UIControlStateNormal];
//1.3.2设置文字 setTitle:(NSString *) forState:(UIControlState), (NSString *)这个字符串对象可以直接写, 因为状态也是普通的所以用 UIControlStateNormal
[button setTitle:@"我笑了"forState:UIControlStateNormal];
//1.3.3这个是设置字体大小的两种方法
//[button setFont :[UIFont systemFontOfSize: 10.0]]; //用这个setFont会出现警告 setfont is deprecated first deprecated in iOS 3.0
button.titleLabel.Font = [UIFontsystemFontOfSize: 10.0];
// 1.3.4设置字体颜色
[button setTitleColor:[UIColorgreenColor] forState:UIControlStateNormal];
//1.4设置按钮高亮状态下的属性,代码和上面的差不多,只是把状态和对象修改一下
UIImage *hghlighted = [UIImageimageNamed:@"ku.jpg"];
[button setBackgroundImage:hghlightedforState:UIControlStateHighlighted];
//1.4.2设置文字 setTitle:(NSString *) forState:(UIControlState), (NSString *)这个字符串对象可以直接写, 因为状态也是普通的所以用 UIControlStateNormal
[button setTitle:@"我ku了"forState:UIControlStateHighlighted];
//这个是设置字体大小的两种方法
//[button setFont :[UIFont systemFontOfSize: 10.0]]; //用这个setFont会出现警告 setfont is deprecated first deprecated in iOS 3.0
button.titleLabel.Font = [UIFontsystemFontOfSize: 10.0];
[button setTitleColor:[UIColorredColor] forState:UIControlStateHighlighted];
//1.5监听按钮点击 addTarget:(id) action:(SEL) forControlEvents:(UIControlEvents)其中id是对象,SEL是方法, UIControlEvents 是事件,有点击事件, 拖拽事件,这里是淡季事件
//触发UIControlEventTouchUpInside就是调用 (id)对象的(SEL) 方法
[button addTarget:selfaction:@selector(buttClick)forControlEvents:UIControlEventTouchUpInside];
//写self的原因是监听当前控制器的方法,所以就是self 所以上面这行代码解释:当触发了TouchUpInside就会调用当前控制器(self)的@selector(buttClick)方法
//2。添加按钮到控制器的view中
//2.1 添加按钮到控制器的view中得方法,调用控制器view的addSubview(添加子控件):(UIView *)方法,这个(UIView *)就是创建的按钮对象
[self.viewaddSubview:button];// 但是仅仅只有这个代码还是不行的,因为这个按钮没有任何颜色,宽高(size),以及坐标(Point)
//3.添加文本输入框
// 3.1创建文本对象,因为文本的属性是UITextField
UITextField *field = [[UITextField alloc] init];
//3.2 把这个文本框添加到控制器的view中,addSubview是子控件的意思
[self.view addSubview:field];
//3.3设置文本框的尺寸
field.frame = CGRectMake(70, 70, 100, 100);
//3.4设置文本框的背景颜色 setBackgroundColor:(UIColor *);
[field setBackgroundColor: [UIColor redColor]];
// 3.5 设置文字大小
field.Font = [UIFont systemFontOfSize: 10.0];
// 3.6让文本框在view中居中,用center
// 3.6.1中点的x,self.view是控制器view,里面的frame ,里面的size的宽
CGFloat centerx = self.view.frame.size.width/2;
// 3.6.2 中点的y
CGFloat centery = self.view.frame.size.height/2;
field.center = CGPointMake(centerx, centery);// 因为center是一个点 所以是x和y
//设置文字在文本框中得位置
field.contentVerticalAlignment=UIControlContentVerticalAlignmentTop;
}
// 这个是内存警告
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark 监听按钮点击的方法
- (void)buttClick
{
NSLog(@"hahahsh!");
}
@end