- 博客(47)
- 收藏
- 关注
原创 构建之法 第七章学习
看不到所有的信息,那么项目进度以及项目中存在的各种问题就不能及时让所有人知道,这样MSF中其他的原则也就不能实行了。没有开放的信息,也就谈不上“授权”,或者“建立清晰的责任和共同的职责”,以及“保持敏捷,预测并适应变化”。这也是为什么“推动信息共享与沟通”是第一个基本原则。MSF团队模型和MSF过程模型也是建立在“信息共享与沟通”原则上的
2020-07-30 22:35:08
311
原创 Teambition使用教程
创建协作控件(项目)1.点击图片中的创建新空间或者点击➕号去创建新空间,然后去选择跟项目相关的模版或者自定义一个模版2.创建了项目之后,我们就可以去邀请项目成员3.接着就在任务版上分配任务(通过点击➕号来创建任务或者任务表)4.分配任务到具体成员(先点击任务列表上的任务再进行操作)空间的功能版...
2020-07-29 12:36:15
8791
原创 IOS.UIButton长按事件
//按钮长按 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)]; //长按时间 longPress.minimumPressDuration = 0.8; [titleButton addGestureRecognizer:longPre.
2020-07-27 00:14:21
1298
原创 IOS 搭建CocoaPods环境
搭建CocoaPods环境CocoaPods 是什么?CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。开发 iOS 项目不可避免地要使用第三方开源库,在使用第三方库时,除了需要导入源码,集成这些依赖库还需要我们手动去配置,还有当这些第三方库发生了更新时,还需要手动去更新项目,这就显得非常麻烦。而 CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间,通过 CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。为
2020-07-26 23:48:23
296
原创 IOS 监听scrollerView的位置来实现底部加载
监听scrollerView的位置来实现底部加载//监听tableView的高度来实现下拉刷新-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ if (fabs(scrollView.contentSize.height - scrollView.frame.size.height - scrollView.contentOffset.y) < scrollView.contentSize.height * 0.2) {
2020-07-26 23:34:48
300
原创 IOS 模拟器屏幕旋转时会调用的方法
模拟器屏幕旋转时会调用的方法//旋转屏幕时刷新tableView- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator{ [self.tableView reloadData];}
2020-07-26 23:26:06
499
原创 IOS SDautolayout框架学习
SDautolayout框架导入SDautolayout框架 1.cd (需要导入框架的文件) 2.pod init3.然后打开项目文件夹打开里面的Podfile文件4.修改Podfile文件的内容 5.然后回到终端输入指令 5.1pod install 5.2等到install完成再输入pod setup 6.这样就已经成功将SDAutolayout框架导入进文件了解决SDAutolayout框架的#import问题虽然只是导入了SDautolayout框架
2020-07-26 23:16:31
324
原创 IOS AFN框架学习
AFN框架POST请求//创建会话管理者 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; //拼接 NSString *newstr = [NSString stringWithFormat:@"%@ http://www.mob.com",self.textView.text]; NSDictionary *dict = @{
2020-07-26 23:04:24
126
原创 IOS 多图下载程序缓存处理
多图下载程序缓存处理缓存处理有 1.内存缓存(把下载好的image保存到字典中,程序关闭就会删除) 2.磁盘缓存(把图片的NSData数据保存到caches文件上,程序关闭不会删除这里的数据) 3.操作缓存(把下载的操作保存到字典里,避免出现重复下载的情况)多图片下载(多线程处理)//先判断缓存里是否已经下载好这张图片 UIImage *image = [self.icondict objectForKey:status.user.name]; if(image){
2020-07-26 22:52:48
133
原创 利用Xcode安装git
利用Xcode安装git1.在Xcode的偏好设置上点击locations,然后安装下面提示的Command Line Tools2.在终端输入:git --version(查看当前的git版本)在终端输入命令:xcode-select–install
2020-07-19 23:21:13
3523
原创 [IOS]——九宫图的实现
能够根据图片的数量自动显示对应的view效果图代码实现//首先根据图片的数量返回对应的size-(CGSize)photosSIzetocount:(int)count{ //设置图片的宽高为64,间距为10 //求行数 int rows = 0; if(count%3==0){ rows = count / 3; }else{ rows = count / 3 + 1; } CGFloat photosH
2020-06-01 23:39:03
172
原创 [IOS]——根据文本内容返回对应的size或者Rect
//计算高度-(CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxW:(CGFloat)maxW{ //创建一个空字典 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; //设置字号的大小 dict[NSFontAttributeName] = font; //设置最大宽度和最大高度 CGSize maxSize =
2020-06-01 23:31:02
217
原创 [IOS]——.json与NSDtat.string互转
因为plist文件里面保存的不能是.json,所以要将它进行转换//.json转成字符串//dict里面装着的是.json数据 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&parseError]; NSString *str = [[NSString alloc] initWithData:jso
2020-05-31 23:13:18
362
原创 [IOS]——解决tableView数据刷新时页面上下移的问题
只需要添加三行代码就可以解决//数据刷新时界面不会跳动 self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionFooterHeight = 0; self. tableView.estimatedSectionHeaderHeight = 0;
2020-05-31 22:01:18
795
原创 [IOS]——在数组的最前面添加数组
NSRange range = NSMakeRange(0, collectArray.count);NSIndexSet *nsindex = [NSIndexSet indexSetWithIndexesInRange:range];[dataArray insertObjects:collectArray atIndexes:nsindex];
2020-05-31 17:58:50
2896
原创 [IOS]——image,string互转
代码//1.0是指图片压缩时不失真//image转成stringNSData *data = UIImageJPEGRepresentation(image, 1.0f); NSString *encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];//string转成imageNSData *_decodedImageData = [[NSData
2020-05-31 17:53:58
494
原创 [IOS]——在键盘上方添加view
效果图代码 //自己创建一个view(这里我用的是自己定义的picView,换成UIView那些也是一样的) picView *picV = [[picView alloc] init]; picV.frame = CGRectMake(0, 0, self.textView.bounds.size.width, 35); picV.delegate = self; //inputAccessoryView这个是设置填充键盘顶部的内容 //设置在textView
2020-05-31 17:32:55
1255
原创 [IOS]——-layoutSubviews的调用时机
layoutSubviews在以下情况下会被调用1、init初始化不会调用layoutSubviews。2、addSubview会调用layoutSubviews。3、设置view的Frame会调用layoutSubviews,前提是frame的值前后发生了变化。4、滚动一个UIScrollView会调用layoutSubviews。5、旋转Screen会调用父UIView上的layoutSubviews事件。6、改变一个UIView大小的时候也会调用父UIView上的layoutSubview
2020-05-31 17:28:10
492
原创 [IOS]——利用drawRect方法绘画UITextView的占位字
由于UITextView没有占位字的属性,但如果想要做到像UITextField那样能够显示占位字,那么我们就需要自定义一个类继承于UITextView,在新创建的类上添加占位字属性效果图方法介绍新建一个类继承于UITextView,在新建类的.h文件创建占位字属性(.h文件创建的原因在于要被其他类调用,如果在.m文件里设置那这个属性只是这个类私有的)在这个新建类的.m文件里完善它的方法#import "placeholderview.h"@implementation placeho
2020-05-31 16:47:20
430
原创 [IOS]——获取系统相册并且加载图片
效果图这是获取系统相册的代码链接获取系统相册链接下面的是从系统相册中加载出图片#pragma mark - 实现picView的代理方法-(void)clickpicView:(UIButton *)btn{ //拿到获取相册的权限 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]){ UIImagePicke
2020-05-31 16:09:21
840
原创 [IOS]——获取系统相册
效果图代码块#pragma mark - 实现picView的代理方法-(void)clickpicView:(UIButton *)btn{ //拿到获取相册的权限 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]){ UIImagePickerController *pic = [[UIImagePickerC
2020-05-30 09:35:05
1013
原创 [IOS]——UITextView实现placeholder占位字的实现
首先说明一下TextView和TextField的区别IOS中的UITextView和UITextField都是文本输入控件并都能够调用系统键盘。两者最大的区别是:1、UITextView支持多行输入并且可以滚动显示浏览全文,而UITextField只能单行输入。2、UITextView继承自UIScrollView,UITextField继承自UIView[UIControl]。3、UITextview没有placeholder属性 UItextField有placeholder属性在使用上我
2020-05-29 00:02:33
490
原创 [IOS]——设置tableView的footerView
效果图代码实现首先需要新建一个类来存放这个底部view(方法多样,这只是我的做法)介绍一下单独创造一个xib的做法(因为有些类创建时是不能同时创建xib的,就像我上面那个图的类是继承于UIView,需要自己再创建一个xib创建完之后记得要设置这个xib从属于哪个类具体代码.h文件#import <UIKit/UIKit.h>@interface upLoaddata : UIView+(instancetype)setfooter;@end.m文件#impor
2020-05-28 23:22:10
1605
原创 [IOS]——新浪微博发微博的实现(纯文字)
微博开放平台的文档介绍https://api.weibo.com/2/statuses/share.json效果图代码实现//https://api.weibo.com/2/statuses/share.json NSMutableString *string = [[NSMutableString alloc] initWithString:@"设置你所需要的参数(详细看上面给出的微博文档)格式为 https://api.weibo.com/2/statuses/share.json?a
2020-05-28 22:42:45
590
原创 [IOS]——下拉刷新的实现
这里用到的是UIRefreshControl(这是系统自带的下拉刷新,使用非常方便)效果图代码实现//系统自带的下拉刷新效果 UIRefreshControl *control = [[UIRefreshControl alloc] init]; [control addTarget:self action:@selector(reFreshstatus:) forControlEvents:UIControlEventValueChanged]; //不用自定义frame
2020-05-28 22:19:19
864
原创 [IOS]——获取新浪微博的.json数据
这里介绍的是获取当前登陆用户以及关注用户的最新微博微博开放平台的文档介绍https://open.weibo.com/wiki/2/statuses/home_timeline代码实现//先取出最前面的微博ID statusFrame *firststatusF = [self.statusFramesArray firstObject]; //请求的url NSString *string = nil; //先判断是否已经存在数据 if(!firststatu
2020-05-28 22:05:05
404
转载 [IOS]——微博开放平台的OAuch2.0授权
详细看转载https://blog.youkuaiyun.com/wangqiuyun/article/details/18309711
2020-05-28 21:33:22
278
原创 [IOS]——弹窗的实现
弹窗的实现效果图代码实现self.timer那里只是我自己设置的点击按钮的功能(根据自己需要更改)//设置弹窗 //UIAlertControllerStyleAlert 在视图中间弹出提示框 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"开启定时更新新闻功能?" message:nil preferredStyle:UIAlertControllerStyleA
2020-05-28 20:56:21
1777
原创 [IOS]——模糊搜索的实现
模糊搜索的实现(支持拼音搜索,汉字搜索,首字母搜索)搜索是要用到UISearchBar我做出的UISearchBar的效果UISearchBar的代码实现1.//首先要遵守协议@interface weiboViewController ()<UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate>2.//代码的实现//搜索框 self.navigationItem.rightBarButtonItem
2020-05-28 20:41:58
1129
原创 [IOS] —— 点击当前控制器View响应的方法
代码块//点击控制器的View自动调用的方法-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"touchesBegan");}//点击后松开调用的方法-(void)touchesEnded:(NSSet<UITouch *> *)touc...
2020-04-29 21:34:59
269
原创 [IOS] —— UIScrollerView的基本属性
代码实现UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"素材1"]]; //拖动scrollerView内部区域时,滚动的并不是scrollerView,而是里面的图片,也可以理解为是contentsie self.scrollerView.contentSize ...
2020-04-29 20:40:00
238
原创 [IOS] —— UIScrollerView不能滚动的原因
scrollerView不能滚动的原因//1.没有设置ccontentsiZe//2.设置的contentsiZe的尺寸小于scrollerView的尺寸//3.self.scrollerView.scrollEnabled = NO;NO表示不能滚动//4.self.scrollerView.userInteractionEnabled = NO;userInteractionEnabl...
2020-04-29 18:22:32
474
原创 [IOS] —— 声明变量在@interface和@property中的区别
@interface和@implementation部分@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>@implementation RootViewControlleOC中的类必须包括两部分,interface部分和implemen...
2020-04-26 15:15:17
252
原创 [ios] —— [super viewWillAppear:animated]使用原因
简述-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.tableView reloadData];}这句话的意思是:在这个界面即将显示时告诉父类实现viewWillAppear这个方法。这样写的原因:由于父类中有很多成员变量子类是继承到了,那么如果没有写上这句话 [...
2020-04-26 14:46:00
724
原创 [IOS] —— 音乐播放器进度条的简单实现
利用定时器,UISlider以及它的响应事件简单实现进度条效果图实现的功能有:1.进度条随着时间的变化自动改变位置2.拖动进度条时,播放器自动播放到对应的点代码实现这个是slider的基本设置@property (nonatomic, retain) UISlider *slider;// 进度条 self.slider = [[UISlider alloc] initW...
2020-04-25 22:07:35
2245
原创 [IOS] —— 获取系统音量和获取app音量
获取系统音量iOS的音量控制接口在MediaPlayer库中首先要将该库导入 #import <MediaPlayer/MPVolumeView.h>而MPVolumeView中负责控制音量的是它的子视图MPVolumeSlider,而这个类并未对外公开,所以我们应该将这个不公开的类赋值给能让我们控制的类,那么就需要遍历volumeView的子视图,把它找出来,并赋值给另外一个...
2020-04-25 21:43:02
1742
原创 [IOS]——播放器AVPlayer的实现
简述AVPlay既可以用来播放音频也可以用来播放视频,AVPlay在播放音频方面可以直接用来播放网络上的音频。在使用AVPlay的时候我们需要引入头文件#import<AVFoundation/AVFoundation.h>AVPlayer —— 音频播放1. 首先导入头文件 #import<AVFoundation/AVFoundation.h>以及声明属性pla...
2020-04-25 17:46:39
4966
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人