您的位置:首页 > 产品设计 > UI/UE

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: