
ios
文章平均质量分 61
看_灰机
这个作者很懒,什么都没留下…
展开
-
iOS——新特性界面的展示
当app版本更新之后,我们第一次进入app会看到一些关于新版本特性的一些说明页面,然而,当我们下次进入的时候,新特性界面就不展示了,这种效果其实很好实现,下面就简单介绍一种方法:一、先列两个宏定义,优化代码#define APPUserDefault [NSUserDefaults standardUserDefaults]#define AppVersionStr [[[NSBundle m...原创 2018-03-14 14:46:01 · 535 阅读 · 0 评论 -
iOS_UISwitch的基本使用方法
UISwitch的应用很广,平时看到的wifi开关,音效开关按钮都是用的这个控件,其使用起来也非常的简单。@property (nonatomic,strong) UISwitch *mySwitch;-(UISwitch *)mySwitch { if (!_mySwitch) { //X,Y可以改变,但是高度和宽度无法修改 _my原创 2018-01-16 15:40:22 · 2700 阅读 · 0 评论 -
iOS_UISegmentedControl的基本使用方法
@property (nonatomic,strong)UISegmentedControl *segControl;-(UISegmentedControl *)segControl { if (!_segControl) { //宽度是固定的,不会因为设置的数值改变而改变 _segControl = [[UISegmentedControl allo原创 2018-01-16 10:33:41 · 1444 阅读 · 0 评论 -
iOS_UIStepper的基本使用方法
UIStepper:步进器,我们在美团之类的软件上经常看到,按一下,数量加一或减一,使用方法其实很简单,下面就简单介绍下UIStepper的使用方法。@property (nonatomic,strong) UIStepper *stpper;-(UIStepper *)stpper { if (!_stpper) { //stpp原创 2018-01-16 09:53:38 · 2062 阅读 · 1 评论 -
iOS_界面传值——属性传值篇
界面之间传值有好几种,之后会一一介绍,这篇博客主要讲用属性进行传值1、基本逻辑:A界面输入一串字符,跳转到B界面的时候,会在B界面上显示出来。2、具体代码如下:(1)既然是属性传值,传值给B,那么,就在B的.h文件里声明一个属性(之所以在B.h中声明,是因为在B.h中声明的属性在A的文件里也可以访问)@property (nonatomic,copy) NSString *te原创 2018-01-05 17:58:29 · 1098 阅读 · 0 评论 -
iOS_AFNetworking监控网络
1、pod AFNetworking的库2、导入头文件:#import "AFNetworking.h"3、在需要监控网络的地方调用下面的代码:-(void)AFNetMonitoring { [[AFNetworkReachabilityManager sharedManager] startMonitoring]; [[AFNetworkReachabilit原创 2018-01-05 17:23:31 · 302 阅读 · 0 评论 -
iOS_UIPickerView的基础使用方法
UIPickerView的使用场景非常的多,平时用到的选择省份、城市、出生时间等等,都是用的这个控件,这篇先讲下UIPickerView的基本使用方法,之后会将一些具体示例demo分享出来。下面贴代码:@property (nonatomic,strong) UIPickerView *pickerView;-(UIPickerView *)pickerView { if (!_p原创 2018-01-15 13:32:50 · 913 阅读 · 0 评论 -
iOS_简单音乐播放器的实现
1、导入头文件:#import 2、音乐播放能用到的几个简单的属性@property (nonatomic,strong) UIProgressView *musicProgress;@property (nonatomic,strong) AVAudioPlayer *player;@property (nonatomic,strong) NSTimer *timer;原创 2018-01-22 17:10:31 · 2117 阅读 · 0 评论 -
iOS_指纹验证
现在很多APP都支持指纹登录、指纹付款之类的功能,其实,指纹验证功能很简单,一段方法就行,下面我就来介绍一下。1、导入库文件:LocalAuthentication.framework2、导入头文件:#import 3、方法实现:-(void)fingerprint { LAContext *myContext = [[LAContext alloc] init原创 2018-01-04 16:22:22 · 428 阅读 · 0 评论 -
iOS_获取手机摇晃事件
//第一响应,默认是NO-(BOOL)canBecomeFirstResponder { return YES;}//开始-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionBegan");}//结束-(void)motionEnded:(UIEv原创 2018-01-04 15:01:09 · 2623 阅读 · 0 评论 -
iOS_UIView子view的层级关系
当一个父view上有较多的子view,有时候会出现view覆盖现象,那么子view的层级关系是怎样的呢?如何改变子view的层级关系呢?下面代码可以帮助到你: UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 150)]; view1.backgroundColor = [UIColor原创 2018-01-12 15:36:09 · 1949 阅读 · 0 评论 -
iOS_经纬度定位及反编码获取当前地址
之前写过一篇这样的文章,但是感觉写的不是很好,好多代码都没有写注释,这次重新写一篇,该有的注释我全部写进去了。1、首先,遇到定位这种问题,第一步先把库和info.plist文件处理好,该导入的库导进去,该请求什么授权就些什么。2、上代码了,里面注释什么的写的非常详细了:#import "ViewController.h"#import //在导入头文件之原创 2018-01-03 16:14:59 · 1458 阅读 · 0 评论 -
ios——自定义tableviewcell左滑button
其实自定义tableviewcell左滑的button代码十分简单,一个方法就能搞定~,在需要用到左滑button的时候加入下面的方法即可使用:-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewRowActi原创 2016-07-20 17:44:50 · 3295 阅读 · 0 评论 -
iOS_UIScrollView的基本使用方法
UIScrollView应用范围非常的广泛,基本上图片的滚动、轮播都用的上,基础的UIScrollView非常好实现,下面就贴上代码:-(UIScrollView *)scrollView { if (!_scrollView) { //设置view的frame _scrollView = [[UIScrollView alloc] initWith原创 2018-01-12 10:00:27 · 1095 阅读 · 0 评论 -
汤姆猫源码
话不多说,直接上全部代码,代码很简单,关键方法就那几个:#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *catImageView;@end@implementation ViewController- (void)v原创 2017-12-30 17:43:48 · 8757 阅读 · 2 评论 -
iOS_UISlider的基本使用方法
UISlider就是滑动条,APP中经常用来实现选择数量、调节音量等功能,下面介绍下UISlider的一些基本使用方法:@property (nonatomic,strong) UISlider *slider;-(UISlider *)slider { if (!_slider) { //高度不可修改 _slider = [[UI原创 2018-01-16 17:41:07 · 1525 阅读 · 0 评论 -
iOS_界面传值——通知传值
注册一个通知来实现界面间的传值,这种方法一般用在界面返回时比较多一点。1、基本逻辑:点击button进入下一个界面,在UITextField中输入任意字符串后,点击右上角的传值,返回主页,主页上显示UITextField所输入的值。2、代码实现:(1)在第二个控制器.m文件中:- (IBAction)sendInfo:(id)sender { NSDic原创 2018-01-08 11:02:36 · 5483 阅读 · 0 评论 -
iOS——调用系统相册相机
actionsheet的方法在8.3之后就被取代了,下面介绍目前比较新的方法:1、info.plist文件写访问授权: <key>NSPhotoLibraryUsageDescription</key> <string>请求访问相册</string> <key>NSCameraUsageDescription</...原创 2018-03-20 14:58:53 · 5601 阅读 · 0 评论 -
iOS_你不知道的UITabBarController
1、UITabBarController的tabbar item最多可以展示5个子视图,如果超过5个会怎么样呢? 如果超过5个,会如下图这样展示:第5个及之后的子视图会显示在more的选项里,点击去之后是下图所示:这个就像是tableview,我们可以点击任意一个cell,进入到制定的视图里,这是一个导航栏控制器而且在MORE视图里,右上角的edit是一个神奇的功能,点击之后可以任意调...原创 2018-02-22 14:18:32 · 460 阅读 · 0 评论 -
iOS_你不知道的navigationController
navigationController大家一定都不陌生,对于导航栏控制器,大家使用最多的一定就是导航栏了,其实,navigationController除了导航栏还有一个toolbar,在底部的一个工具栏,只不过使用的频率较低,但是其使用方法也是很简单的,下面就来简单的介绍下: 隐藏toorbar 显示toorbar 1、首先,toor...原创 2018-02-28 17:41:09 · 374 阅读 · 0 评论 -
iOS_做一个透明的导航栏
透明的导航栏效果比较好看,代码实现也非常简单,三行就可以搞定了: //设置导航栏透明 [self.navigationController.navigationBar setTranslucent:true]; //把背景设为空 [self.navigationController.navigationBar setBackgroundImage:[UIImage n...原创 2018-02-27 14:39:11 · 6449 阅读 · 0 评论 -
iOS_Nav与tabbar混合使用
nav与tabbar混合使用,这种节目应用范围很广的,比如网易云音乐的首页节目:既有底部的tabbar又有导航栏,而且各个导航栏界面相互独立。这个界面实现起来也不算复杂,下面就介绍一种通用的写法:在AppDelegate.m中:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDict...原创 2018-02-26 16:49:04 · 1941 阅读 · 0 评论 -
iOS_界面传值—NSUserDefaults传值,写沙盒传值
NSUserDefaults传值是将所要传的值写在沙盒目录里面,需要获取值的时候直接访问沙盒,获取这个值就可以了,这种传值方法一般用在需要将数据本地存储的时候,比如:用户名之类,当用户下次登录或者使用app的时候,可以直接从本地读取。下面是代码展示:(1)在需要传值的地方下如下代码: /* setObject:后面写的就是所需要传递的值 forKe原创 2018-01-10 15:32:44 · 444 阅读 · 0 评论 -
iOS_界面传值—单例传值
单例传值用起来也比较方便,就是需要多两个文件,当然了,如果不创建也能用,也有些是写在appdelegate.h里的。下面我就介绍下单例的基本使用方法:一、首先创建一个文件,继承NSObject(1).h文件中#import @interface DefaultInstance : NSObject@property (nonatomic,copy) NSString *info原创 2018-01-10 14:08:06 · 1380 阅读 · 0 评论 -
iOS_切圆形的方法
程序中经常会看到头像之类的控件是圆形的,点击可以换头像什么的,其实圆形控件很好切的,这里已button为例,介绍下如何快速的切出一个圆出来。 //首先,这个button要是正方形的,所以设置圆角(半径)为长(宽)的一半 self.btn.layer.cornerRadius = self.btn.frame.size.width / 2; //把多余的去掉,剩下的就是原创 2018-01-09 11:08:07 · 484 阅读 · 0 评论 -
iOS_手势的添加及使用
代码以imageview为例,给imageview添加点击事件: //图片这种类型的view默认是没有点击事件的,所以要把用户交互的属性打开 _imageView.userInteractionEnabled = YES; //添加点击手势 UITapGestureRecognizer *click = [[UITap原创 2018-01-17 15:43:12 · 8828 阅读 · 0 评论 -
iOS_捏合及旋转手势的使用
给他图片等视图加上一个或多个手势,这样可以使程序效果更炫酷一点,下面就提供了两种手势的使用方法,建议真机测试,这样比较好直观的感受下手势的使用。-(void)loadImage { UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width原创 2018-01-18 14:04:05 · 4308 阅读 · 0 评论 -
iOS_UIAlertController的使用方法
iOS 8新增加了UIAlertController控制器,用之前的UIAlertview和actionSheet会报警告,这个控制器可以实现警告框和操作表,非常的方便。使用UIAlertController的优势在于不仅可以添加按钮,还可以添加文本框和自定义视图到警告框和操作表中;相应时间可以通过闭包实现,而不用委托协议实现。下面我就介绍UIAlertController的基本使用方法。-(原创 2018-01-09 14:51:55 · 27622 阅读 · 0 评论 -
iOS_视图的生命周期及调用的相应方法
博主自己用流程图软件编了一个视图和视图控制器的生命周期及相应的调用方法,方便大家理解,大家有需要的可以把图保存一下。另,我这边需要提醒一下:viewDidLoad这个方法在应用运行的时候只调用一次,而其他的一些方法(比如:viewWillAppear,viewWillDisappear等)可以被反复调用。原创 2018-01-08 17:23:07 · 271 阅读 · 0 评论 -
iOS_禁止程序在后台挂起或运行的方法
允许和禁止程序在后台挂起或者运行的方法很简单,因为app默认是可以在后台运行的,所以只要在info.plist中添加一行:默认的是NO,如果不允许后台挂起,则把NO该为YES就可以了。原创 2018-01-08 14:58:51 · 3228 阅读 · 0 评论 -
iOS_应用的生命周期,AppDelegate中方法简介
一、先简单介绍一下iOS应用的5中状态:(1)Not Running (非运行状态)。应用没有运行或被系统终止。(2)Inactive (前台非活动状态)。应用正在进入前台状态,但是还不能接收事件处理。(3)Active (前台活动状态)。应用进入前台状态,可以接收事件处理。(4)Background (后台状态)。应用进入后台后,依然能够执行代码。如果有可执行的代码,就会原创 2018-01-08 14:23:57 · 457 阅读 · 0 评论 -
iOS_UITouch事件
点击事件,程序中都会用得到,平时我们用的比较多的有下面三种事件://下面三个touch事件用的比较多,大家也比较熟悉,这里就不多解释了-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //获取点击对象(如果对象只有一个,touch就是我们的点击对象) UITouch *touch = [touc原创 2018-01-17 09:36:39 · 266 阅读 · 0 评论 -
ios——注册通知的使用示例
1、通过一个简单的小程序(不考虑程序的实用逻辑,纯粹为了掩饰)来介绍通知的使用,先上图:点击注册进入注册界面,然后填写用户名,点击save的时候,用户名传值到首页并显示2、原理:利用通知,这里的通知是广播通知,可以说是一对多,意思就是一个广播向所有人发出一个消息,而接受者不在乎是谁发的,能接收到就行。当输入用户名点击save的时候,这时候就发送一个通知,让需要接收通知的人知道,这里原创 2017-12-13 16:27:51 · 2314 阅读 · 0 评论 -
iOS——MJRefresh的使用
MJRefresh时非常实用的加载第三方库,使用也非常的简单,具体代码如下:1、导入MJRefresh的库2、导入头文件:#import "MJRefresh.h"3、设置各种属性MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:原创 2017-01-11 15:03:10 · 932 阅读 · 0 评论 -
iOS——写数据到本地plist文件
NSDictionary *dic = [[NSDictionary alloc] init]; dic = response.responder; NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDo原创 2016-12-26 16:29:40 · 830 阅读 · 0 评论 -
iOS——图片、界面的抖动
大家在手机上长按删除程序的时候,app都会有一种抖动的效果,那么类似于这个抖动的效果在app里面的应用、实现,代码如下:先贴出宏定义:#define Angle2Radian(angle) ((angle) / 180.0 * M_PI)- (IBAction)startShake:(id)sender { CAKeyframeAnimation *anim = [原创 2016-12-13 10:50:50 · 1847 阅读 · 0 评论 -
ios——显示明天的日期
直接上代码: NSDate * date=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@"YYYY-MM-dd"]; //@"YYYY-MM-dd HH:mm"是日期格式,还有@"YYYY-MM原创 2016-11-23 17:18:33 · 810 阅读 · 0 评论 -
ios——图片、界面切换效果
先看效果:下面贴代码:#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *backgroundView;@property (strong,nonatomic) NSArray *array;@end@原创 2016-11-23 16:16:08 · 1353 阅读 · 0 评论 -
iOS——AppDelegate中写单例
AppDelegate.h中写属性和方法:@property (strong,nonatomic)NSString *name;+(instancetype)shareAppDelegate;AppDelegate.m中实现:+(instancetype)shareAppDelegate { return (AppDelegate原创 2016-11-23 13:28:03 · 1524 阅读 · 0 评论 -
iOS——新特性界面的展示方法
现在很多的app在更新完成,登录的时候回显示新版本的特性、新功能之类的界面,当我们浏览完这些界面之后,下次登录就不会显示,具体的做法呢,也非常的简单,代码如下所示:下面的代码中用到的宏定义如下:#define XDLUserDefault [NSUserDefaults standardUserDefaults]#define AppVersionStr [[[NSBundle main原创 2016-12-12 16:10:25 · 661 阅读 · 0 评论