UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
//UIActivityIndicatorView //小菊花,加载
#import "ActivityIndicatorVC.h"
@interface ActivityIndicatorVC (){
UIActivityIndicatorView *_activity ;
}
@end
@implementation ActivityIndicatorVC
-(void)viewDidLoad{
[super viewDidLoad];
[self createActivityIndicator];
}
-(void)createActivityIndicator{
//创建对象
_activity = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(, , , )];
_activity.backgroundColor = [UIColor blackColor];
_activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[self.view addSubview:_activity];
//让状态栏中的activityIndicator显示出来
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
//开始动画
[_activity startAnimating];
}
// 想要停止的话添加
// [_activity stopAnimating];
//[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
@end
45 // UIProgressView //进度条
#import "ProgressVC.h"
@implementation ProgressVC{
UIProgressView *_progress ;
NSTimer *_timer;
}
-(void)viewDidLoad{
[super viewDidLoad];
self.btn.hidden = YES;
[self createProgress];
[self createTimer];
}
-(void)createProgress{
_progress = [[UIProgressView alloc]initWithFrame:CGRectMake(, , , )];
[self.view addSubview:_progress];
// progress.backgroundColor = [UIColor lightGrayColor];
_progress.tintColor = [UIColor redColor];
_progress.progressTintColor = [UIColor greenColor];
_progress.trackTintColor = [UIColor blueColor];
_progress.progress = 0.01;
}
-(void)createTimer{
_timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(run ) userInfo:nil repeats:YES];
}
-(void)run{
_progress.progress += 0.01;
}
@end
90 // UISegmentedControl //分段
-(void)viewDidLoad{
[super viewDidLoad];
self.btn.hidden = YES;
[self createSegment];
}
-(void)createSegment{
NSArray *items = @[@"", @"", @""];
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:items];
segment.frame = CGRectMake(, , , );
segment.backgroundColor = [UIColor magentaColor];
segment.tintColor = [UIColor yellowColor];
segment.selectedSegmentIndex = ;
[segment insertSegmentWithTitle:@"" atIndex: animated:YES];
[segment insertSegmentWithImage:[UIImage imageNamed:@"tab_0"] atIndex: animated:YES];
//让图片显示原始图片
UIImage *img = [[UIImage imageNamed:@"tab_0"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[segment insertSegmentWithImage:img atIndex: animated:YES];
[self.view addSubview:segment];
//添加事件
[segment addTarget:self action:@selector(segmentSelected:) forControlEvents:UIControlEventValueChanged];
}
-(void)segmentSelected:(UISegmentedControl *)segment{
NSLog(@"%ld", segment.selectedSegmentIndex);
}
//UIStepper //步进
-(void)viewDidLoad{
[super viewDidLoad];
self.btn.hidden = YES;
[self createStepper];
}
-(void)createStepper{
UIStepper *stepper =[[ UIStepper alloc]initWithFrame:CGRectMake(, , , )];
[self.view addSubview:stepper];
stepper.tintColor = [UIColor redColor];
stepper.backgroundColor = [UIColor greenColor];
stepper.minimumValue = ;
stepper.maximumValue = ;
stepper.stepValue = ;
stepper.wraps = YES;
stepper.autorepeat = YES;
[stepper addTarget:self action:@selector(steperValueChanged:) forControlEvents:UIControlEventValueChanged];
}
-(void)steperValueChanged:(UIStepper *)stepper{
NSLog(@"%f", stepper.value);
}
//UISwitch //开关
-(void)viewDidLoad{
[super viewDidLoad];
self.btn.hidden = YES;
[self createSwitch];
}
-(void)createSwitch{
UISwitch *mySwitch = [[UISwitch alloc]initWithFrame:CGRectMake(, , , )];
mySwitch.onTintColor = [UIColor redColor];
mySwitch.tintColor = [UIColor greenColor];
[self.view addSubview:mySwitch];
[mySwitch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];
}
-(void)switchValueChanged:(UISwitch *)mySwitch{
if (mySwitch.isOn) {
NSLog(@"on");
} else{
NSLog(@"off");
}
}
//UITextView //文本
-(void)viewDidLoad{
[super viewDidLoad];
self.btn.hidden = YES;
[self createTextView];
}
-(void)createTextView{
UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(, , , )];
[self.view addSubview:textView ];
}
//UIAlertController //警报管理
- (void)btnClicked {
UIAlertController *alertCtrl = [UIAlertController alertControllerWithTitle:@"删除" message:@"是否确定要删除该数据" preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil ];
UIAlertAction *deleteAction = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"具体的删除数据的代码");
}];
[alertCtrl addAction:cancelAction];
[alertCtrl addAction:deleteAction];
[self presentViewController:alertCtrl animated:YES completion:nil];
}
- (void)btnClicked3 {
UIAlertController *alertCtrl = [ UIAlertController alertControllerWithTitle:@"警告" message:@"需要输入用户名和密码" preferredStyle:UIAlertControllerStyleAlert];
// 添加文本框
[alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
// 可以对文本框进行设置
textField.placeholder = @"用户名";
}];
[alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
textField.placeholder = @"密码";
textField.secureTextEntry = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pwdTextChanged) name:UITextFieldTextDidChangeNotification object:textField];
}];
// 添加一个动作,就是一个按钮
UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"登录" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
// 用户点击这个按钮的操作
NSLog(@"用户名:%@, 密码:%@", alertCtrl.textFields[].text , alertCtrl.textFields[].text );
}];
action2.enabled = NO;
[alertCtrl addAction:action2];
// 弹出提示信息框
[self presentViewController:alertCtrl animated:YES completion:nil];
}
-(void)pwdTextChanged{
// 取得弹出的UIAlertController对象
UIAlertController *alertCtrl = (UIAlertController *) self.presentedViewController;
if (alertCtrl) {
UIAlertAction *loginAction = alertCtrl.actions.firstObject;
loginAction.enabled = YES;
}
}
- (void)btnClicked2 {
UIAlertController *alertCtrl = [ UIAlertController alertControllerWithTitle:@"警告" message:@"电量低" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"知道了");
}];
[alertCtrl addAction:action1];
[alertCtrl addAction:action2];
[self presentViewController:alertCtrl animated:YES completion:nil];
}
UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController的更多相关文章
- webform中几个常用的控件
一,简单控件 1,Lable——标签:在网页中呈现出来的时候会变成span标签 属性:Text——标签上的文字 BackColor,ForeColor——背景色,前景色 Font——字体 Bold- ...
- swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController
工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...
- 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...
- 【风马一族_Android】第4章Android常用基本控件
第4章Android常用基本控件 控件是Android用户界面中的一个个组成元素,在介绍它们之前,读者必须了解所有控件的父类View(视图),它好比一个盛放控件的容器. 4.1View类概述 对于一个 ...
- .Net中使用无闪刷新控件时提示框不显示
今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路, 他说可能是因为由于页面中的无闪刷新导致的结果:百度了一下真找到了解决方法 在页面中存在无闪刷新控件的时候提示框 ...
- ios开发中经常用到的控件
以下是按照使用频率对ios的控件进行罗列. 1.最常用的UI控件: UIButton (按钮).UILabel (文本标签).UITextField (文本输入框).UIImageView( 图片显示 ...
- Unity3D入门之GUI基础以及常用GUI控件使用(2)
1.GUI基础 (1)GUI部分是每帧擦除重绘的,只应该在OnGUI中绘制GUI,按钮:GUILayout.Button(“Hello”); 只读标签:GUILayout.Label() (2)修改控 ...
- VC++ 中滑动条(slider控件)使用 [转+补充]
滑动控件slider是Windows中最常用的控件之一.一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值.通常,在滑动控件附近一定有标签控件或编辑框控 ...
- 【转】ASP.NET常用数据绑定控件优劣总结
转自:http://www.cnblogs.com/Olive116/archive/2012/10/24/2736570.html ASP.NET常用数据绑定控件优劣总结 本文的初衷在于对Asp ...
随机推荐
- 【Swift学习】Swift编程之旅(一)
学习一门新语言最经典的例子就是输出“Hello World!” print("Hello World!") swift就是这样来输出的. 如果你使用过其他语言,那么看上去是非常的熟 ...
- Java - 容器详解
一.ArrayList 长度可变数组,类似于c++ STL中的vector. 元素以线性方式连续存储,内部允许存放重复元素. 允许对元素进行随机的快速访问,但是向ArrayList中插入和删除元素的速 ...
- Mac下github项目检出与提交
项目检出 如果你的git还没有代码仓库,可以用过git的代码仓库页面新建一个你的仓库 创建git上的仓库后,我们还需要建立本地的仓库,所以打开Mac终端,建立本地仓库文件夹(这里我用HelloC),然 ...
- [Asp.net 5] DependencyInjection项目代码分析3-Ninject
Microsoft.Framework.DependencyInjection.Ninject 该工程内部共包含5个类文件,底层使用Ninject实现依赖注入,工程截图如下: 从文件命名可以看出,Ni ...
- The Web server is configured to not list the contents of this directory.
部署一个ASP.NET MVC网站至一个全新的服务器Windows Server 2008 R2, 数据为MS SQL Server 2014 64bit Expression版本. 运行时,它第一次 ...
- [DBW]一个小巧的Class方案
(function(){ function Extend(func,proto){ func.prototype.__proto__=proto.prototype; Object.definePro ...
- C#的变迁史 - C# 5.0 之调用信息增强篇
Caller Information CallerInformation是一个简单的新特性,包括三个新引入的Attribute,使用它们可以用来获取方法调用者的信息, 这三个Attribute在Sys ...
- 电脑Windows使用中遇到的那些问题
Win64位注册表导入方法 64位Windows操作系统注册表不同于32位Windows操作系统,Win64 位版本分为 32 位注册表项和 64 位注册表项.默认 64 位版本注册表编辑器 (Reg ...
- 在ListActivity中显示图标
在ListActivity中显示图标,好像并不复杂,实现起来却不轻松. 首先,定义列表中的每一行,这里不是用xml文件定义,而是用一个类定义,CheckBox.ImageView.TextView等控 ...
- Java程序内存的简单分析
这篇文章将简单的说明下当我们运行Java程序时JVM(Java虚拟机)的内存分配情况. 首先我们先来感观的认识下几个名词: 1.栈,一般来说,基本数据类型直接在栈中分配空间,局部变量(在方法代码段中定 ...