1.UIButton

UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(, , , );
[btn setBackgroundColor:[UIColor blackColor]];
btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];
[btn setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
btn.layer.cornerRadius = 5.0;
[btn setTitle:@"黑色" forState:UIControlStateNormal];
[btn setTitle:@"是否确认" forState:UIControlStateHighlighted];
[btn addTarget:self action:@selector(zoomInAction:) forControlEvents:UIControlEventTouchUpInside];//添加事件
[_helpScrView addSubview:btn];

2.UILabel

//UILabel  文本显示
_label1 = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
//_label1.frame = CGRectMake(60, 75, 100, 25);
_label1.backgroundColor = [UIColor grayColor];
_label1.text = @"文字显示!";
_label1.font = [UIFont fontWithName:@"Arial" size:];
_label1.textColor = [UIColor blackColor];
_label1.numberOfLines = ;//文本最多行数,为0时没有最大行数限制
_label1.textAlignment = NSTextAlignmentCenter;//文字居中
[_helpScrView addSubview:_label1];

3.UISwtich(滑块控件)

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(, , , )];
[_helpScrView addSubview:slider];
[slider setMaximumValue:];//设置最大值10
[slider setMinimumValue:];//设置最小值0
slider.value = ;//当前位置是4
slider.minimumTrackTintColor = [UIColor orangeColor];//设置移动前线条的颜色
slider.maximumTrackTintColor = [UIColor blackColor];//设置移动后线条的颜色
slider.minimumValueImage = [UIImage imageNamed:@"love_1.png"];//设置滚动条最左边的图片
slider.maximumValueImage = [UIImage imageNamed:@"love_2.png"];//设置滚动条最右边的图片
//slider.thumbTintColor = [UIColor grayColor];//设置中间按钮移动按钮的颜色
//将按钮换成图片,正常状态下
[slider setThumbImage:[UIImage imageNamed:@"love_3.png"] forState:UIControlStateNormal];
[slider addTarget:self action:@selector(function:)
forControlEvents:UIControlEventValueChanged]; -(void)function:(UISlider*)sender {
long values = lroundf(sender.value);
_label1.text = [NSString stringWithFormat:@"%ld",values]; //这样的效果
}

4.UISlider(开关控件)

//开关控件(UISwitch)
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectMake(, , , )];
[_helpScrView addSubview:switchView];
BOOL setting = switchView.isOn;//获得开关状态
[switchView setOn:setting animated:YES];//设置开关状态
//将上面的绿色替换成橘黄色
switchView.onTintColor = [UIColor orangeColor];
//设置按钮的颜色
switchView.thumbTintColor = [UIColor redColor];
//开关控件外部的颜色
switchView.tintColor = [UIColor purpleColor];
[switchView addTarget:self action:@selector(switchTag:)
forControlEvents:UIControlEventValueChanged]; - (void)switchTag:(UISwitch *)switchTag {
BOOL setting = switchTag.isOn;
[switchTag setOn:setting animated:YES];
if (setting)
{
NSLog(@"on");
}else
{
NSLog(@"off");
}
}

5.UITextField(输入框)

UITextField *accountField = [[UITextField alloc]initWithFrame:CGRectMake(, , , )];
[accountField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型
[accountField setFont:[UIFont systemFontOfSize:16.0]];
[accountField setTextColor:[UIColor grayColor]];
accountField.placeholder = @"用户名"; //默认显示的字
accountField.secureTextEntry = NO; //是否以密码形式显示
accountField.returnKeyType = UIReturnKeyDone; //return键变成什么键
accountField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X
accountField.keyboardType = UIKeyboardTypeDefault;//键盘显示类型 accountField.delegate = self;
//[accountField becomeFirstResponder];//设置键盘第一响应者
[_view1_top addSubview:accountField];   
//收回键盘
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
//设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。
tapGestureRecognizer.cancelsTouchesInView = NO;
//将触摸事件添加到当前view
[self.helpScrView addGestureRecognizer:tapGestureRecognizer];
//按下Done按钮的调用方法,我们让键盘消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES;
} //收回键盘
-(void)keyboardHide:(UITapGestureRecognizer*)tap{
[_FieldPass resignFirstResponder];
[_textView resignFirstResponder];
}

6.UITextView(文本框)

//UITextView  文本框,不可输入,根据内容改变框大小
_textView = [[UITextView alloc]initWithFrame:CGRectMake(, , UIScreenWidth-, )];
_textView.editable = NO;//设置是否可以编辑
_textView.delegate = self;
_textView.textColor = [UIColor colorWithRed:/255.0 green:/255.0 blue:/255.0 alpha:];
_textView.font = [UIFont boldSystemFontOfSize:];
_textView.scrollEnabled = NO;//设置是否可以滚动
_textView.layer.borderColor = [[UIColor brownColor]CGColor];
_textView.layer.borderWidth = 1.0;
_textView.layer.backgroundColor = [[UIColor clearColor] CGColor];
_textView.layer.cornerRadius = 6.0; _textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;//相对于父视图不会改变属性
[_textView setSelectable:YES]; _textView.text = @"我多么希望喝酒的时候旁边有个人深情地看着我温柔的说,少喝点,伤身体,妈逼现实中却总是有个煞笔在旁边吼:你麻痹,养鱼啊!喝起!"; [_view1_top2 addSubview:_textView];
[self textViewDidChange:_textView]; //UITextView 文本框,不可输入
_textView2 = [[UITextView alloc]initWithFrame:CGRectMake(, , UIScreenWidth-, )];
_textView2.editable = NO;//设置是否可以编辑
_textView2.delegate = self;
_textView2.textColor = [UIColor colorWithRed:/255.0 green:/255.0 blue:/255.0 alpha:];
_textView2.font = [UIFont boldSystemFontOfSize:];
_textView2.scrollEnabled = NO;//设置是否可以滚动
_textView2.layer.borderColor = [[UIColor orangeColor]CGColor];
_textView2.layer.borderWidth = 1.0;
_textView2.layer.backgroundColor = [[UIColor clearColor] CGColor];
_textView2.layer.cornerRadius = 6.0;
_textView2.text = @"UITextView是继承于UIScrollView,并且遵循UITextInput的协议;而UIScrollView是继承于UIView,并且遵循NSCoding协议;上面有些属性跟UITextField是一样的,就没有标注出来;关于UITextInput的协议也可以见关于UITextField里面的内容;包含一些键盘响应及相应的通知处理知识点;from:http://www.cnblogs.com/wujy/p/5807646.html";
//可以检测检测电话、网址和邮箱。符合条件的文本中的内容就会高亮;
_textView2.dataDetectorTypes = UIDataDetectorTypeAll; [_view1_top2 addSubview:_textView2]; //如何优雅的让UITextView根据输入文字实时改变高度
//UITextView 文本框,不可输入
_textView3 = [[UITextView alloc]initWithFrame:CGRectMake(, , UIScreenWidth-, )];
_textView3.editable = YES;//设置是否可以编辑
_textView3.delegate = self;
_textView3.textColor = [UIColor colorWithRed:/255.0 green:/255.0 blue:/255.0 alpha:];
_textView3.font = [UIFont boldSystemFontOfSize:];
_textView3.scrollEnabled = NO;//设置是否可以滚动
_textView3.layer.borderColor = [[UIColor orangeColor]CGColor];
_textView3.layer.backgroundColor = [[UIColor clearColor] CGColor];
_textView3.layer.borderWidth = 1.0;
_textView3.layer.cornerRadius = 6.0;
_textView3.layer.masksToBounds = YES;
_textView3.textContainerInset = UIEdgeInsetsMake(,, , );//调整光标的位置,让光标出现在UITextView的正中间 [_view1_top2 addSubview:_textView3]; //uitextview 内置函数,代理方法
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ //UITextView: 响应键盘的 return 事件
if ([text isEqualToString:@"\n"]){ //判断输入的字是否是回车,即按下return
//在这里做你响应return键的代码
[textView resignFirstResponder];
return NO; //这里返回NO,就代表return键值失效,即页面上按下return,不会出现换行,如果为yes,则输入页面会换行
} //每次输入文字后调用该方法,此时输入的文字并不在textView.text中,而在另一个参数text中,走完该方法后每次输入的文字才加入到textView.text中。解决方案是将textView.text和text文字拼接起来
CGRect frame = textView.frame;
float height;
if ([text isEqual:@""]) { if (![textView.text isEqualToString:@""]) { height = [ self heightForTextView:textView WithText:[textView.text substringToIndex:[textView.text length] - ]]; }else{ height = [ self heightForTextView:textView WithText:textView.text];
}
}else{ height = [self heightForTextView:textView WithText:[NSString stringWithFormat:@"%@%@",textView.text,text]];
} frame.size.height = height;
[UIView animateWithDuration:0.5 animations:^{ textView.frame = frame; } completion:nil]; return YES; } //计算输入文字高度的方法
- (float) heightForTextView: (UITextView *)textView WithText: (NSString *) strText{
CGSize constraint = CGSizeMake(textView.contentSize.width , CGFLOAT_MAX);
CGRect size = [strText boundingRectWithSize:constraint
options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:]}
context:nil];
float textHeight = size.size.height + 20.0;
return textHeight;
} //不可编辑的UITextView 自动调整高度
- (void)textViewDidChange:(UITextView *)textView{
CGRect frame = textView.frame;
CGSize size = [textView.text sizeWithFont:textView.font
constrainedToSize:CGSizeMake(, )
lineBreakMode:UILineBreakModeTailTruncation];
frame.size.height = size.height > ? size.height + : ;
textView.frame = frame; }

8.UISegmentedControl 选项卡控件

NSArray *arr = [NSArray arrayWithObjects:@"辰东", @"猫腻", @"天蚕土豆", @"开荒", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:arr];
segmentedControl.frame = CGRectMake(, , , );
[_helpScrView addSubview:segmentedControl];
segmentedControl.tintColor = [UIColor orangeColor];//控件渲染色(也就是外观字体颜色)
//设置字体样式
[segmentedControl setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:],NSForegroundColorAttributeName:[UIColor blackColor]} forState:UIControlStateNormal];
//添加一个分段(在指定下标下插入,并设置动画效果)
[segmentedControl insertSegmentWithTitle:@"五金电料" atIndex: animated:NO];
//根据内容定分段宽度
segmentedControl.apportionsSegmentWidthsByContent = YES;
//开始时默认选中下标(第一个下标默认是0)
segmentedControl.selectedSegmentIndex = ;
//按下是否会自动释放:
//segmentedControl.momentary = YES;
//添加事件
[segmentedControl addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
//添加到导航栏上面
//self.navigationItem.titleView = segmentedControl; //点击不同分段就会有不同的事件进行相应
-(void)change:(UISegmentedControl *)sender{ if (sender.selectedSegmentIndex == ) {
NSLog(@"辰东");
}else if (sender.selectedSegmentIndex == ){
NSLog(@"猫腻");
}else if (sender.selectedSegmentIndex == ){
NSLog(@"五金电料");
}else if (sender.selectedSegmentIndex == ){
NSLog(@"天蚕土豆");
}else{
NSLog(@"开荒");
}
}

9.UIPageControl 分页,与UIScrollerView联合使用

_pageCtrl = [[UIPageControl alloc]initWithFrame:CGRectMake(, UIScreenHeight-, UIScreenWidth-, )];
_pageCtrl.numberOfPages = ;//设置控制器页数
_pageCtrl.currentPage = ;//设置当前所在页码
_pageCtrl.pageIndicatorTintColor = [UIColor redColor];//设置控制器页码点得颜色
_pageCtrl.currentPageIndicatorTintColor = [UIColor blackColor];//设置控制器当前所在页码点的颜色
[_pageCtrl addTarget:self action:@selector(pageTurn:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:_pageCtrl]; //先加载uiscrollView
_helpScrView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , bounds.size.width, UIScreenHeight)];
[_helpScrView setContentSize:CGSizeMake(UIScreenWidth*, UIScreenHeight-)];//设置页数
_helpScrView.pagingEnabled = YES; //设为YES时,会按页滑动
_helpScrView.contentOffset = CGPointMake(, );
_helpScrView.bounces = YES;//弹性,默认为yes
[_helpScrView setDelegate:self];//协议
_helpScrView.showsHorizontalScrollIndicator = NO;//取消UIScrollView自己的进度条。 [self.view addSubview:_helpScrView]; //将UIScrollView添加到主界面上 //其次是UIScrollViewDelegate的scrollViewDidEndDecelerating函数,用户滑动页面停下后调用该函数。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//更新UIPageControl的当前页
CGPoint offset = scrollView.contentOffset;
CGRect bounds = scrollView.frame;
[_pageCtrl setCurrentPage:offset.x / bounds.size.width];
long numbers = lroundf(offset.x / bounds.size.width); NSLog(@"%ld",numbers);//显示页数 NSInteger juli = scrollView.contentSize.width-UIScreenWidth-;
NSLog(@"juli->>>>%ld",(long)juli);
NSLog(@"scrollView.contentOffset.x->>>>%ld",(long)scrollView.contentOffset.x); // if (scrollView.contentOffset.x >juli) {
//
// NSLog(@"跳转!!");
//
// Table_ViewController *secondview=[[Table_ViewController alloc]init];
//
// [self.navigationController pushViewController:secondview animated:YES];
// } } //然后是点击UIPageControl时的响应函数pageTurn
- (void)pageTurn:(UIPageControl*)sender
{
//令UIScrollView做出相应的滑动显示
CGSize viewSize = _helpScrView.frame.size;
CGRect rect = CGRectMake(sender.currentPage * viewSize.width, , viewSize.width, viewSize.height);
[_helpScrView scrollRectToVisible:rect animated:YES]; long numbers = lroundf(sender.currentPage); NSLog(@"%ld",numbers);//显示页数
}

     

10.UITableView

这个控件使用我只介绍一些关键的地方:

#pragma mark - 创建一个tableView
-(void)createTableView{ _tableView = [[UITableView alloc]initWithFrame:CGRectMake(,, SCREEN_WITH , SCREEN_HEIGHT - -) style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
} #pragma mark - tableView代理方法
//分组头部标题的高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return ;
} //分组头部区域插入View
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(, , , )];
view.backgroundColor = [UIColor colorWithRed:/255.0 green:/255.0 blue:/255.0 alpha:]; UILabel *timeLabel = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
gameTimeModel *model = [[gameTimeModel alloc]init];
model = _dataSourceArray[section];
NSString *dataStr = model.date_block;
timeLabel.text = dataStr;
timeLabel.textColor = [UIColor whiteColor];
timeLabel.font = [UIFont systemFontOfSize:];
[view addSubview:timeLabel]; return view;
} //分组
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return ;//分成三组
} //每组的cell数目
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return ;//每组12行 } //cell高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return ;
} //这个就不用多说了,cell样式
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
return nil ;
}

注:此博客仅供博主学习总结用,一部分来自百度,如有侵权请联系我删除.

iOS UI控件总结(全)的更多相关文章

  1. iOS UI控件继承关系图

    闲来无事,把UI控件的继承关系图整理下来,供自己和大家使用.

  2. ios UI控件的简单整理

    把该文件拷贝到.m文件中就能够方便的查找 /** 匿名类目:能够声明方法和变量,属性为private(不同意在外部调用,且不能被继承 */ /** 发送数据的托付方,接收数据的时代理发(即代理的反向传 ...

  3. iOS UI控件

    创建: 2018/04/21 完成: 2018/04/25 更新: 2018/09/24 补充UIActivityIndicatorView的显示和隐藏方法 UIButton  设定项目  项目名   ...

  4. iOS UI控件之间的关系图

  5. IOS学习资源收集--开发UI控件相关

    收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...

  6. iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式

    在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默 ...

  7. 79.iOS 设备的UI规范和iOS各控件默认高度

    iOS设备的UI 规范 iPhone界面尺寸 iPhone图标尺寸 iPad的设计尺寸 iPad图标尺寸 iPhone设备尺寸分辨率比例 iPhone各设备 launch image iOS 各种控件 ...

  8. iOS基础UI控件介绍-Swift版

    iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...

  9. iOS 中UI控件的各种对齐方式总结

    1.textAligment : 文字的水平方向的对齐方式 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NSTextAlignmentCenter    = ...

随机推荐

  1. ASP.NET Zero--15.一个例子(8)商品分类管理-权限控制

    1.添加权限常量 打开文件AppPermissions.cs [..\MyCompanyName.AbpZeroTemplate.Core\Authorization\AppPermissions.c ...

  2. 实现过程全纪录——自己写一个“微信朋友圈”(包括移动端与PC端)

    一.朋友圈的基本单元--动态 首先定义一个自定义控件用来显示每条动态. 二.运行效果 三.核心解读 PushedMessage 有个PushIndex属性,表示发送消息的index,从0开始递增.每个 ...

  3. 20个常用的Java程序块

    1.字符串有整型的相互转换 String a = String.valueOf(2);//integer to numeric string Int i = Integer.parseInt(a);/ ...

  4. BZOJ-2150部落战争(最小路径覆盖)

    2150: 部落战争 Time Limit: 10 Sec  Memory Limit: 259 MB Description lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国 ...

  5. 蓝桥网试题 java 基础练习 数列特征

    ----------------------------------- Collections.sort(list);是个好东西 但是要学会排列 然后你才能浪 -------------------- ...

  6. oracle_角色

    一. 每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表.视图和其他资源. Oracle角色(role)就是一组权限(privilege) (或者是每个用户根据其状态和条件所需的访问类型) ...

  7. 成小胖学习ActiveMQ·基础篇

    过了个春节,回到公司的成小胖变成了成大胖.但是你们千万别以为他那个大肚子里面装的都是肥肉,里面的墨水也多了不少嘞,毕竟成小胖利用春节的半个月时间专心学习并研究了 ActiveMQ,嘿嘿……这不,为了检 ...

  8. JavaScript易混淆知识点小回顾--数组方法与字符串方法;

    数组属性: arr.length;查看数组的长度 arr.Pop;删除数组最后一个元素; 数组的方法: arr.push();添加到数组末端; arr.shift();删除数组的第一个元素; arr. ...

  9. matlab 自定义函数及调用

    这一篇博客主要学习了: 第一,自定义函数优点有很多,比如可重复利用:容易纠错,以后直接装入大工程里(更重要的是,实参是复制给形参的,在自定义函数中运行时形参独立显示,这一点和C不一样). 第二,通过h ...

  10. matlab中同一文件定义子函数的方法

    在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况 ...