iOS开发
文章平均质量分 52
RockyFung
这个作者很懒,什么都没留下…
展开
-
圆环菜单栏
需求:圆环菜单栏1.界面显示5个按钮,圆弧排列2.左右滑动,按钮可以在圆弧轨迹上滚动3.点击按钮,按钮滚动到中间4.中间位置按钮放大思路:1.先画外圆,按钮位于大圆内部2.实现滑动的时候按钮按圆环轨迹移动滑动的时候计算每个按钮的x值,再根据公式计算y的值因为(x-a)^2 + (y - b)^2 = r^2 所以y = sqrt(r^2 - (x-a)^2) + b这样滑动的时候可以遍历所有按钮,重新赋值x,y的值3.还是在滑动的时候计算出每个按钮的角..原创 2021-03-14 15:43:43 · 906 阅读 · 0 评论 -
Masonry实现九宫格布局
知识点:1.masonry2.NSArray分类实现NSArray+Sudoku.h#import "MASUtilities.h"#import "MASConstraintMaker.h"#import "MASViewAttribute.h"#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BE...原创 2020-03-27 09:15:22 · 1584 阅读 · 1 评论 -
使用Masonry排列多个控件
使用masory排列多个控件代码如下: // 设置间隔宽度,item宽度自适应 UIView *bg = [UIView new]; [self.view addSubview:bg]; [bg mas_makeConstraints:^(MASConstraintMaker *make) { if (@available(iOS 11.0,...原创 2020-03-26 17:18:16 · 975 阅读 · 0 评论 -
scrollview中使用masory
很多时候,我们需要使用ScrollView来作为底层View,来使整个界面能够滑动显示.使用Frame来设置各控件的坐标时,很简单,直接用ScrollView的ContentSize属性就可以设置其滑动范围,但是使用Masonry的时候 ,这个方法就不行了,此时,我们需要给ScrollView上加一层containerView,将各个控件都加在containerView上,然后根据最后一个控件的的...原创 2020-03-26 17:07:00 · 227 阅读 · 0 评论 -
label的抗压等级
如上图需求:1.左侧label固定位置,不能压缩2.中间label长度过长是可以被压缩3.label3不能压缩,保持在label2的右侧,且不超过cell右侧知识点:1.uiview的方法,用于label2的压缩性能- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority fo...原创 2020-03-26 14:21:33 · 871 阅读 · 1 评论 -
UITextField 监听数值变化的三种方法
原文链接: http://blog.csdn.net/qxuewei/article/details/507276171.直接监听 - 推荐#pragma mark - 直接添加监听方法-(void)addTargetMethod{ [self.textField1 addTarget:self action:@selector(textField1TextChange:)转载 2018-02-02 11:51:45 · 265 阅读 · 0 评论 -
使用GCD-dispatch_semaphore同步下载请求
场景:多个请求任务需要按顺序执行。方案:使用GCD信号量值来控制线程等待(锁)定义:1.dispatch_semaphore_create(信号量的值) //创建信号量,手动设置为0,模仿线程锁住1.dispatch_semaphore_wait(信号量, 等待时间) //当信号量为0的时候,就会一直处于等待状态1.dispatch_semaphore_signal(信号量) //发送信号量,...原创 2018-02-26 10:33:24 · 203 阅读 · 0 评论 -
使用TableView自带的多选功能
一、简单实现1.设置tableView属性self.tableView.allowsMultipleSelectionDuringEditing = YES; 2.然后在编辑按钮显示tableView编辑状态[self.tableView setEditing:YES animated:YES]; 3.查看被选中cell的indexPath数组NSArray *indexs = self.tabl...原创 2018-04-17 19:53:59 · 4146 阅读 · 0 评论 -
上划渐变导航条颜色
1.功能需求刚进入页面导航条背景为透明色,上划一定距离改变导航条颜色为白色(渐变)2.功能实现2.1 在viewWillAppera中实现导航条背景色透明-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; // 让控件从(0,0)开始 self.navigationController...原创 2018-06-11 14:16:40 · 1194 阅读 · 0 评论 -
xcode编译问题汇总
记录自己遇到过的xcode奇怪编译问题1.xcode真机编译时报png图片的错误原因1. 是提示的png并不是ps导出的png,而是手动修改jpeg后缀名为png,在模拟器上不会报错,但在真机,不能识别这种所谓的“png”图片。原因2:这是因为png图片的问题,png图片在存储的时候有一个NOT INTERLACED/INTERLACED(无交错/交错)的选项,因为设计师在切图的时...原创 2019-07-25 09:26:07 · 369 阅读 · 0 评论 -
利用点语法创建UILabel
类似Masonry中点点语法使用原理,每个点语法是一个返回自身的block改造UILabel使用方法先创建了UILabel的分类UILabel+RFAdd.h中- (UILabel *(^)(CGFloat x,CGFloat y,CGFloat width,CGFloat height))RF_Frame;- (UILabel *(^)(C原创 2018-01-25 15:46:19 · 176 阅读 · 0 评论 -
把字符串中的数字和改成其它颜色和大小
把字符串中的数字和改成其它颜色和大小// 改变字符串中数字的颜色- (NSMutableAttributedString *)changeNumberColorWithStr:(NSString *)content{ NSArray * number =@[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"原创 2018-01-23 15:28:02 · 417 阅读 · 0 评论 -
layoutSubviews、setNeedsLayout、layoutIfNeeded区别
layoutSubviews这个方法,默认没有做任何事情,需要子类进行重写 。 系统在很多时候会去调用这个方法:1.初始化不会触发layoutSubviews,但是如果设置了不为CGRectZero的frame的时候就会触发。2.addSubview会触发layoutSubviews3.设置view的Frame会触发layoutSubviews,当然前提是frame的值设置转载 2018-01-23 10:02:09 · 1170 阅读 · 0 评论 -
iOS开发中两个界面之间用Block传值
刚学iOS开发,开此贴记录学习中的一些问题,以便日后参考原创 2015-10-25 18:53:42 · 1633 阅读 · 1 评论 -
iOS开发中在加载页面添加菊花动画(非第三方)
刚学iOS开发,开此贴记录学习中的一些问题,以便日后参考原创 2015-10-26 17:04:13 · 4649 阅读 · 0 评论 -
UIWebView添加头部视图
环境:系统版本:OSX 10.10.2Xcodel版本:7.1.1模拟器:iPhone6 功能:网页滚动的时候,表头也跟着滚动1.首先创建webView的类,定义属性 // 添加网络视图 self.webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, KScreenWid原创 2015-12-02 10:07:51 · 501 阅读 · 0 评论 -
地图实现地点查找和导航
环境:系统版本:OSX 10.10.2Xcodel版本:7.1.1功能:用自带地图实现查找,导航1.首先需要在info.plist中添加NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription两个属性导入CoreLocation.framework框架原创 2015-12-02 10:31:52 · 702 阅读 · 0 评论 -
UIView实现任意角裁剪圆角
环境:系统版本:OSX 10.11.4Xcodel版本:7.3.1功能:UIView实现任意角裁剪圆角// 上左上右圆角- (void)radiusWithTopLeftAndTopRightRadius:(CGFloat)radius{ UIBezierPath *round = [UIBezierPath bezierPathWithRou原创 2016-07-29 14:16:41 · 512 阅读 · 0 评论 -
怎样让父视图的透明度不影响子视图
环境:系统版本:OSX 10.11.4Xcodel版本:7.3.1功能:怎样让父视图的透明度不影响子视图设置父视图颜色的使用使用如下:view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];原创 2016-07-29 14:19:18 · 472 阅读 · 0 评论 -
swift学习----记使用NSClassFromString一个坑
1,项目中要获取某个控制器,所以用到了 NSClassFromStringlet cls = NSClassFromString(childControllerName) as! UIViewController.Type2. childControllerName是控制器的名字,使用该方法后crash,该cls返回值为nil ,如下所示fatal error: unexp原创 2016-08-12 16:20:02 · 1074 阅读 · 0 评论 -
图片浏览,手势放大缩小
功能:第一页展示图片缩略图,用collectionView实现,保证长宽比;点击图片变成横向图片浏览器,需要左右滑动切换图片,手势放大缩小,点击退出原理分析:第一页用collectionView展示图片,接口实现用户可选择列数第二页滑动浏览图片底部是一个大的scrollView,里面横向设置若干个小的scrollView(需要用到scrollView的放大缩小功能)原创 2017-11-24 15:22:43 · 1026 阅读 · 0 评论 -
利用dispatch_group实现图片批量下载
功能:批量异步下载图片,等图片都下载完了,再去执行其他功能1.创建任务组imageGroup// 创建组 dispatch_group_t imageGroup = dispatch_group_create();2.实现任务加入任务组,self.photoArray里装的是所有需要下载的图片的链接地址通过for循环来创建多个任务 for (NSStr原创 2017-11-24 15:39:06 · 397 阅读 · 0 评论 -
UITableView中动态返回自定义cell的高度
环境:系统版本:OSX 10.10.2Xcodel版本:6.3.2模拟器:iPhone6 其他:使用MRC功能:动态返回cell高度 动态返回cell高度 使用场景:当cell上的某一个控件(通常是lable),需要根据字符串的长度来决定自身的高度,此时就需要动态返回cell高度,cell的高度最终是cell上各控件的间距以及各控件自身的高度原创 2015-11-03 21:18:29 · 1295 阅读 · 0 评论