IOS中UI控件的基本使用
2015-04-11 19:51
453 查看
.m文件
#import "HomeViewController.h"@interface HomeViewController ()
@end
@implementation HomeViewController
- (void)viewDidLoad {
[super viewDidLoad];
#pragma mark - UILabel
UILabel * descritionLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 220, 300)];
descritionLabel.center = CGPointMake(CGRectGetWidth(self.view.frame)/2, CGRectGetHeight(self.view.frame)/2-40);
NSString * desText = @"乔布斯是改变世界的天才,他凭敏锐的触觉和过人的智慧,勇于变革,不断创新,引领全球资讯科技和电子产品的潮流,把电脑和电子产品不断变得简约化、平民化,让曾经是昂贵稀罕的电子产品变为现代人生活的一部分。";
descritionLabel.text = desText;
descritionLabel.backgroundColor = [UIColor grayColor];
descritionLabel.textColor = [UIColor colorWithRed:11/255.0 green:179/255.0 blue:252/255.0 alpha:0.9];
descritionLabel.font = [UIFont systemFontOfSize:20];
descritionLabel.lineBreakMode = NSLineBreakByTruncatingHead;
//设置换行模式
descritionLabel.numberOfLines = 0; //设置文本行数为0时则不限制
CGSize contanSize = CGSizeMake(280, 400);//大小约束
//获取能显示完文本的大小
CGRect autoRect = [desText boundingRectWithSize:contanSize options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:descritionLabel.font} context:nil];
//用获取的大小重新设置frame
descritionLabel.frame = CGRectMake(60, 60, 280, autoRect.size.height);
[self.view addSubview:descritionLabel];
[descritionLabel release];
#pragma mark - UIButton
UIButton * stateButton = [UIButton buttonWithType:UIButtonTypeCustom]; //便利构造出的,不用release
stateButton.frame = CGRectMake(18, 230, 55, 55);
// [stateButton setTitle:@"开始" forState:UIControlStateNormal];
// [stateButton setTitle:@"OK" forState:UIControlStateHighlighted]; //设置高亮状态标题
// [stateButton setTitle:@"结束" forState:UIControlStateSelected];
//设置选择状态的标题
// [stateButton setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
//设置高亮状态字体颜色
//设置按钮图片
[stateButton setImage:[UIImage imageNamed:@"btn_normal.png"] forState:UIControlStateNormal];
[stateButton setImage:[UIImage imageNamed:@"btn_selected.png"] forState:UIControlStateSelected];
[stateButton addTarget:self action:@selector(pressedButton:) forControlEvents:UIControlEventTouchDown];//设置监听事件,可监听多个事件(按钮按下时的事件)(点击事件的方法加:代表要传参数)
[stateButton addTarget:self action:@selector(pressedButtonDown) forControlEvents:UIControlEventTouchUpInside];//(按钮按下弹起时的事件)
[self.view addSubview:stateButton];
#pragma mark - UITextField
UITextField * inputTextField = [[UITextField alloc] initWithFrame:CGRectMake(70, 320, 260, 45)];
inputTextField.borderStyle = UITextBorderStyleRoundedRect;
// inputTextField.autocapitalizationType//设置自动首字母大写模式
// inputTextField.autocorrectionType//自动纠错(联想)模式
inputTextField.returnKeyType = UIReturnKeyJoin;//设置return按钮样式
inputTextField.delegate = self;//在头文件设置协议<UITextFieldDelegate>
[self.view addSubview:inputTextField];
#pragma mark - UISwitch
UISwitch * nightSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(18, 20, 30, 30)];
[nightSwitch addTarget:self action:@selector(pressedSwitch:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:nightSwitch];
#pragma mark - UISlider
UISlider * lightSlider = [[UISlider alloc] initWithFrame:CGRectMake(100, 22, 250, 30)];
[lightSlider addTarget:self action:@selector(sliderEvent:) forControlEvents:UIControlEventValueChanged];
lightSlider.backgroundColor = [UIColor yellowColor];
// lightSlider.minimumValue = 1;
// lightSlider.maximumValue = 100;
[self.view addSubview:lightSlider];
#pragma mark - UIActivityIndicatorView 活动指示器
UIActivityIndicatorView * indicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicatorView.center = CGPointMake(200, 270);
[self.view addSubview:indicatorView];
[indicatorView startAnimating]; //开始动画
}
- (void)sliderEvent:(UISlider *)sender
{
self.view.backgroundColor = [UIColor colorWithWhite:sender.value alpha:0.9];
NSLog(@"%f", sender.value);
}
- (void)pressedSwitch:(UISwitch *)sender
{
if (sender.isOn == YES) {//默认是关
self.view.backgroundColor = [UIColor blackColor];
}
else if (sender.isOn == NO) {
self.view.backgroundColor = [UIColor whiteColor];
}
//或者采用三目运算
// self.view.backgroundColor = sender.isOn == YES ? [UIColor blackColor] : [UIColor whiteColor];
}
- (void)pressedButtonDown//按钮按下状态
{
NSLog(@"点我?!");
}
- (void)pressedButton:(UIButton *)sender//设置按钮按下弹起事件(传参)
{
// [sender setTitle:@"END" forState:UIControlStateNormal];//把sender传过去,改变按钮的标题
sender.selected = !sender.selected; //设置选择状态,改变按钮标题(开始sender.selected为No,有点击事件就取反就为YES,再点击一次就变为No,就不是选择状态)
NSLog(@"你牛逼!");
}
#pragma mark - <TOUCH EVENT>
//监听用户的开始触摸
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES]; //点击编辑框外的整个视图让编辑结束
}
#pragma mark - <UITextFieldDelegate>
//开始编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"开始编辑");
}
//结束编辑
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"结束编辑");
}
//点击return按钮
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSLog(@"点击return按钮");
[textField resignFirstResponder];//解除,放弃第一响应
return YES;
}
//是否在某个地方改变某个字符
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"range = %@, string = %@", NSStringFromRange(range), string);
if ([string isEqualToString:@"o"]) {//让编辑框编辑时无法输入字符“o”
return NO;
}
return YES;
}
@end
相关文章推荐
- iOS应用开发中视图控件UIWindow的基本使用教程
- iOS控件-UICollectionView基本使用详解
- iOS开发之有趣的UI—— UITableView控件基本使用
- iOS开发UI基础—19UITableview控件基本使用
- IOS开发-常用UI控件的基本使用(Transform形变属性、frame属性、center属性的使用)
- 控件的基本使用-iOS—UI笔记
- iOS控件-UICollectionView基本使用详解(OC)
- IOS学习笔记(七)之UISegmentedControl分段控件的基本概念和使用方法
- IOS学习笔记(七)之UISegmentedControl分段控件的基本概念和使用方法
- IOS的基本控件的使用-UISlider&UIProgressView
- iOS控件-UICollectionView基本使用详解(OC)
- ios学习之UI控件的一些基本使用
- iOS中基本UI控件的介绍和使用
- iOS中的基本 UI 控件的使用
- iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
- iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
- iOS中UI控件的使用
- IOS的UI控件使用
- IOS-UICollectionView的基本使用以及添加headerView
- IOS开发之纯代码界面--基本控件使用篇 Demos