IOS 控件整理总结(基础控件)

IOS APP 常见UI控件 UILabel(标签) UITextField(文本输入框) UITextView(文本视图) UIButton(按钮) UIImageView(图像视图) UISwitch(开关) UIStepper(步进器) UIActivityIndicatorView(活动指示器) UIProgressView(进度条) UISlider(滑动条) UIPageControl(页面控制器) UIPickerView(选择器视图) UIDatePicker(日期选择器) UITableVie 阅读详情



#import "ViewController.h"


@interface ViewController ()<UITextFieldDelegate,UIScrollViewDelegate>

@property (nonatomic,strong)NSTimer *timer;

@property (nonatomic,strong)UIProgressView *pv;

@property (nonatomic,strong)UIPageControl *pc;

@property (nonatomic,strong)UIScrollView *sv;

@property (nonatomic,strong)UILabel *label;

@property (nonatomic)int currentPage;

@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    

    [selfinitButton];

    

    [selfinitLabel];

    

    [selfinitTextField];

    

    [selfinitUISwitch];

    

    [selfinitProgressView];

    

    [selfinitUISlider];

    

    //7.UISegmentControl;

    //未完成

    

    [selfinitViewLabel];

    

    [selfinitUIScrollView];

    

    [selfinitUIPageControl];

    

    

}



#pragma mark     1.button;

-(void)initButton{

    UIButton *btn = [[UIButtonalloc]initWithFrame:CGRectMake(0,0, 100,100)];

    

    [btn setBackgroundImage:[UIImageimageNamed:@"btn_01"]forState:UIControlStateNormal];

    [btn setTitle:@"1"forState:UIControlStateNormal];

    [btn setBackgroundImage:[UIImageimageNamed:@"btn_02"]forState:UIControlStateHighlighted];

    [self.viewaddSubview:btn];

    

    [btn addTarget:selfaction:@selector(ButtonAction:)forControlEvents:UIControlEventTouchUpInside];

    

}

-(void)ButtonAction:(UIButton *)btn{

     [btn setBackgroundImage:[UIImageimageNamed:@"btn_02"]forState:UIControlStateNormal];

    if ((btn.imageView.image = [UIImageimageNamed:@"btn_02"])) {

        [btn setImage:[UIImageimageNamed:@"a"]forState:UIControlStateNormal];

    }

}


#pragma mark     2.label;


-(void)initLabel{

    UILabel *label = [[UILabelalloc]initWithFrame:CGRectMake(100,0, 100,100)];

    label.text =@"按钮1是傻子,我是Label";

    [label setNumberOfLines:0];

    label.backgroundColor = [UIColorredColor];

    [label setTextAlignment:NSTextAlignmentRight];

//    label.font = [UIFont fontWithName:<#(NSString *)#> size:<#(CGFloat)#>]

    [self.viewaddSubview:label];

}



#pragma mark     3.UITextField;

-(void)initTextField{

    UITextField *tf = [[UITextFieldalloc]initWithFrame:CGRectMake(200,0, 100,100)];

    tf.delegate =self;

    tf.text =@"禁止输入@“,和.”";

    tf.font = [UIFontsystemFontOfSize:12];

    tf.backgroundColor = [UIColoryellowColor];

//    [self.view endEditing:YES];

//    [tf resignFirstResponder];

    

    //?收起键盘;

    [self.viewaddSubview:tf];

}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    if ([stringisEqualToString:@"."]||[stringisEqualToString:@","]) {

        returnNO;

    }else{

        returnYES;

    }

}


#pragma mark     4.ProgressView; 5.UISwitch实现;


-(void)initProgressView{

    self.pv = [[UIProgressViewalloc]initWithFrame:CGRectMake(100,150, 100,100)];

    self.pv.progressTintColor = [UIColorblueColor];

    self.pv.trackTintColor = [UIColoryellowColor];

    [self.viewaddSubview:self.pv];

}

-(void)initUISwitch{

    UISwitch *sw = [[UISwitchalloc]initWithFrame:CGRectMake(0,150, 100,100)];

    sw.backgroundColor = [UIColorgreenColor];

    [sw addTarget:selfaction:@selector(changeValue:)forControlEvents:UIControlEventValueChanged];

        [self.viewaddSubview:sw];

}


-(void)changeValue:(UISwitch *)sw{

    

    if ([swisOn]) {

        self.timer = [NSTimerscheduledTimerWithTimeInterval:.1target:selfselector:@selector(valueChange)userInfo:nilrepeats:YES];

    }else{

        [self.timerinvalidate];

    }


}


-(void)valueChange{

    self.pv.progress  +=0.01;

}



#pragma mark     6.UISlider;

-(void)initUISlider{

    UISlider *sl = [[UISlideralloc]initWithFrame:CGRectMake(200,120, 100,100)];

    sl.minimumValue =0;

    sl.minimumTrackTintColor = [UIColorredColor];

    sl.maximumValue =30;

    sl.maximumTrackTintColor = [UIColoryellowColor];

    [sl addTarget:selfaction:@selector(slAction:)forControlEvents:UIControlEventValueChanged];

    [self.viewaddSubview:sl];

    

    UILabel *l = [[UILabelalloc]initWithFrame:CGRectMake(200,110, 100,20)];

    l.backgroundColor = [UIColoryellowColor];

    l.text = [NSStringstringWithFormat:@"%1.f",sl.value];

    [self.viewaddSubview:l];


    

    

}


-(void)slAction:(UISlider *)sl{

    UILabel *l = [[UILabelalloc]initWithFrame:CGRectMake(200,110, 100,20)];

    l.backgroundColor = [UIColoryellowColor];

    l.text = [NSStringstringWithFormat:@"%1.f",sl.value];

    [self.viewaddSubview:l];

}





#pragma mark     7.UIScrollView; 8.UIPageControl;混合实现;

-(void)initUIScrollView{

    self.sv = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,220, 320,568-220)];

    [self.viewaddSubview:self.sv];

    self.sv.delegate =self;

    //self.sv.backgroundColor = [UIColor yellowColor];

    for (int i =0; i < 5; i ++) {

        UIImageView *iv = [[UIImageViewalloc]initWithFrame:CGRectMake(i*320,0, 320,568-220)];

        iv.image = [UIImageimageNamed:[NSStringstringWithFormat:@"%d.jpg",i]];

        [self.svaddSubview:iv];

    }

    

    //[sv isUserInteractionEnabled];

    self.sv.contentSize =CGSizeMake(5*320,0);//设置横向内容大小;

    self.sv.pagingEnabled =YES;//设置惯性;

    

}

-(void)initUIPageControl{

    self.pc = [[UIPageControlalloc]initWithFrame:CGRectMake(150,220, 100,100)];

    [self.pcsetNumberOfPages:5];

    //self.pc.backgroundColor = [UIColor redColor];

   // self.pc.tintColor = [UIColor redColor];

    self.pc.pageIndicatorTintColor = [UIColoryellowColor];

    self.pc.currentPageIndicatorTintColor = [UIColorredColor];

    [self.viewinsertSubview:self.svatIndex:0];

//    [self.view b/ringSubviewToFront:self.pc];

    [self.viewaddSubview:self.pc];

   

}

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    //惯性结束

    self.pc.currentPage = scrollView.contentOffset.x/320;

   self.label.text = [NSStringstringWithFormat:@"%d of 5",self.pc.currentPage+1];


}

//动画做完之后执行

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{

    

    self.label.text = [NSStringstringWithFormat:@"%d of 5",self.pc.currentPage+1];

    

    

    

}


-(void)initViewLabel{

   self.label = [[UILabelalloc]initWithFrame:CGRectMake(150,180, 100,100)];

    self.label.textColor = [UIColorredColor];

    self.label.textColor = [UIColorredColor];

    [self.viewaddSubview:self.label];


}







@end


30个让你眼前一亮的iOS Swift UI控件! 前言 笔者接触 iOS 开发有一段时间了,尤其特别喜欢UI部分,特意收集整理了30个让你惊艳的第三方开源控件(swift),无论是应用到项目中还是用来学习都能让你大呼过瘾,废话不多说,直接上图上链接! &nbsp; No.1 TwicketSegmentedControl 多页面切换滑块控件,能处理滑块的惯性,可以直接将滑块甩到到另一侧。 &nbsp; No.2 PagingMenuCont... 阅读详情

相关推荐

iOS自定义控件之下拉列表按钮

本文将介绍如何实现一个简单的下拉列表按钮,使读者能够更进一步掌握UIButton类和UITableView类的使用,了解非iOS系统自带控件的初始化方法,学习列表下拉、收起的动画效果,编写可重用的DropDownButton类,还可以对此进行优化、扩展和整理,便于以后项目实战中直接拿来进行使用。

_差点是帅哥的专栏 3246

ios客户端学习笔记(9-1):iOS中常用的控件的功能和使用方法

ios客户端学习笔记(9-1):iOS中常用的控件的功能和使用方法

goodgoodstudy___的博客 1023

iOS 各种UI控件大全

初学者各种UI控件大全,对于学习UI非常有帮助。里边包括button,label,switch,webView......一系列ui控件。

Iphone控件大全

Iphone的常用控件有哪些?看看下面 一 视图UIView和UIWindow iphone视图的规则是:一个窗口,多个视图。UIWindow相当于电视机,UIViews相当于演员。   1.显示数据的视图 下面几个类可在屏幕上显示信息: UITestView:将文本段落呈现给用户并/允许用户使用键盘输入自己的文本。可设置可编辑或不可编辑,使用单一字号和

9977

iOS基本控件的使用

iOS移动开发中基本控件的说明文档,包括每个控件的常用方法和说明

一个很棒的ReactNative弹窗控件支持iOS和Android

一个很棒的React Native弹窗控件,支持iOS和Android

iOS UITableView控件

1. UITableView UITableView继承自UIScrollView,可以用来展示一组或多组内容样式相似的数据。UITableView可以说是iOS开发中最重要的控件之一。 2. UITableView样式 UITableView的两种样式UITableViewStylePlain和UITableViewStyleGrouped。 UITableViewStylePlain样式,当一个section的rows有一部分可见时,section的header和footer浮动在内容顶部。 UITab

假装你是大灰狼的专栏 2816

ui控件大全

各种控件属性和使用方法适合初级

iOS常用控件

本篇会介绍如下 TextFireld、TextView、Button、Segment、Label、Slider、WebView、ActivityIndicator、Progress、Alert(DEPRECATED)、ActionSheet(DEPRECATED)、ActionControl、ToolBar、Bar Button Item PageA TextField & TextView-输

简单记录 1106

Mediapipe手势识别实战——基于关节角度计算实现动态手势分类

本文详细介绍了如何利用Mediapipe进行手势识别,通过计算手指关节弯曲角度实现动态手势分类。文章从基础原理出发,讲解了关节角度计算的数学方法,并提供了Python实现代码。同时,还分享了数字手势和OK手势的识别实战经验,以及性能优化和工程实践中的关键技巧,帮助开发者快速掌握实时手势识别技术。

weixin_26891599的博客 403

activemq_CVE-2015-5254_漏洞复现_源码分析

ActiveMQ-CVE-2015-5254

qq_51550750的博客 940

IOS 控件之基础整理

如果使用高版本的xcode6以上,创建一个singleViewApplication项目,然后点击项目修改maininterface中的内容清空,相当于创建了一个EmptyApplication。   5.window对象          在一个IOS的应用中,window对象一般只有一个,window对象负责一些系统功能,比如键盘管理,一般不负责具体界面的显示。为了可以在一个应用中切换多

Lucky Soldier 2285

DeepSeek 框架和技术栈分析

DeepSeek 诞生于对更高效、更强大的深度学习计算和模型训练的追求。随着深度学习模型的规模不断增大,如大型语言模型(LLMs)和复杂的视觉模型,传统的框架在处理这些大规模模型时面临着性能瓶颈和资源利用效率低下的问题。DeepSeek 旨在解决这些问题,通过优化框架设计和采用先进的技术栈,实现更高效的模型训练和推理,同时降低计算成本。

yournameplease的专栏 1512

Android开源控件收集整理

一 、基本控件 TextView HTextView 一款支持TextView文字动画效果的Android组件库。GitHub - hanks-zyh/HTextView: Animation effects to text, not really textview ScrollNumber 滚动数字控件https://github.com/a-voyager/ScrollNumber ticker 滚动数字控件 GitHub - robinhood/ti...

我的专栏 3061

深入解析ViT中的RoPE旋转位置编码:原理、实现与视觉应用

本文深入解析了ViT中的RoPE旋转位置编码原理、实现及其在视觉任务中的应用。RoPE通过旋转变换巧妙地将相对位置信息融入注意力计算,解决了传统绝对位置编码外推性差的问题,在图像分类、目标检测及生成任务中展现出更优的泛化能力和灵活性。

alice7model的博客 706

关于42步进电机驱动——基于STM32 HAL库实现

我找了好多资料,好多关于42步进电机的都是文档,这么文档都需要积分,需要积分就算了内容还非常差,浪费时间和电脑的内存。关于大部分是基于Arduino和51去驱动的 42步进电机驱动硬件如下: 首先你要了解步进电机的驱动原理,我也不啰嗦了,请看这边博客: 二相四线,四相五线,四相六线步进电机接线及驱动方法 , 看完这篇你就知道驱动和接线的原理了。 起初我也为如何接线烦恼,因为有些博客在讲述这些问题的时候没有讲的很透彻。 方法如下: ①用万用表调到欧姆档,用其中一个表笔搭在一个引脚上,依次测其它.

Jodan132的博客 1万+

iOS开发之有趣的UI —— 基础控件与经典案例

iOS开发有趣的UI 基础控件与经典案例 项目需求:点击相应的按钮,实现相应的动画,在动画结束后让它站立并且一直进行站立的动画。 实现思路: 需要用到的控件:UIImageView UIImage Button 实现方式:通过StoryBoard 和代码的方式完成 主要涉及内容:图片的帧动画

求知若渴,虚心若愚,努力前行,未来可期。 3198

手把手教你解锁TI MSPM0G3507开发板(2025新版,附XDS110接线图)

本文详细解析了2025版TI MSPM0G3507开发板的解锁方法,针对新版硬件中BSL引脚的电路设计变化提供了精准接线方案和UniFlash软件配置步骤。通过实测数据和专业指导,帮助开发者解决芯片锁定问题,确保调试接口正常响应。

weixin_42696271的博客 808

ios 控件徽章_大佬,请问这个控件叫啥?

我们在做设计的时候,经常会忘记某个控件的名称,比如:心中知道某个控件的形态,却不知道如何称呼,所以今天给大家整理了设计规范中的一些控件合集,清晰明确的叫出某个控件的名称,也是一种专业性的体现~1.状态栏 Status Bar/导航栏 Navigation Bar/标签栏 Tab Bar2.工具栏 Toolbarsios系统样式3.搜索栏Search Bar4.浮层弹框/气泡弹出框/浮出框...

weixin_39777543的博客 161

【BUG已解决】pip install 出现 error: Microsoft Visual C++ 14.0 or greater is required 解决方案

方案磁盘占用适用场景推荐指数安装Build Tools3-6GB长期Windows Python开发⭐⭐⭐⭐⭐寻找预编译wheel无额外占用只是想快速装上某个包⭐⭐⭐⭐⭐用conda安装视包而定已经在用conda环境⭐⭐⭐⭐⭐升级到新版本无额外占用库本身有更新的预编译版本⭐⭐⭐⭐使用WSL2需要额外配置Linux子系统频繁遇到Windows编译问题⭐⭐⭐⭐的核心是Windows 缺少本地 C/C++ 编译器,而目标包需要在本机编译。先看是否有捷径。

博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

iOS的日历控件 开源代码整理

开源的优质代码也很多了,整理下给各位需要的同学。 devinross/tapkulibrary – GitHub 封装了比较多的类,日历只是其中很少的一块,和iOS自带的UI几乎是一模一样。 klazuka/Kal – GitHub 这个也是标准的日历控件哦 muhku/calendar-ui – GitHub 日别和周别表示的日历 damiandawber/DDCalenda

计算机学习园 2058

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

sketch里的ios控件_30个让你眼前一亮的iOS Swift UI控件!

前言笔者接触 iOS 开发有一段时间了,尤其特别喜欢UI部分,特意收集整理了30个让你惊艳的第三方开源控件(swift),无论是应用到项目中还是用来学习都能让你大呼过瘾,废话不多说,直接上图上链接! No.1 TwicketSegmentedControl多页面切换滑块控件,能处理滑块的惯性,可以直接将滑块甩到到另一侧。No.2 PagingMenuController提供多种样式的分页切换控件N...

weixin_39654322的博客 1360

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ios UI控件的简单整理

把该文件拷贝到.m文件中就能够方便的查找 /** 匿名类目:能够声明方法和变量,属性为private(不同意在外部调用,且不能被继承 */ /** 发送数据的托付方,接收数据的时代理发(即代理的反向传值) 托付方第一步:声明协议 托付方第二步:声明代理指针 托付方第三步:操作完毕,告诉代理(即调用代理的方法) 代理第一步:遵守协议 代理第二步:成...

aoe41606的博客 269

控件不刷新_30个让你眼前一亮的iOS Swift UI控件!

前言笔者接触 iOS 开发有一段时间了,尤其特别喜欢UI部分,特意收集整理了30个让你惊艳的第三方开源控件(swift),无论是应用到项目中还是用来学习都能让你大呼过瘾,废话不多说,直接上图上链接! No.1 TwicketSegmentedControl多页面切换滑块控件,能处理滑块的惯性,可以直接将滑块甩到到另一侧。点击查看动图No.2 PagingMenuController提供...

weixin_42465030的博客 284
上一篇: IOS工作笔记1年,收集整理,常用方法
下一篇: IOS 文件管理,基础使用
NameUseNsstring
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值