OC_基础
关于OC的一些文章
回眸乱了流年
再真挚的感情,再深沉的牵挂,还是会有分开的一天。。。
展开
-
设置启动界面ios 8设置状态栏字体颜色
状态栏的字体为黑色:UIStatusBarStyleDefault状态栏的字体为白色:UIStatusBarStyleLightContent一、在info.plist中,将View controller-based status bar appearance设为NO状态栏字体的颜色只由下面的属性设定,默认为白色:// default is UIStatusBarStyleDefa转载 2017-03-17 16:47:08 · 297 阅读 · 0 评论 -
关于 UIGestureRecognizerState
源代码里有注释,为了避免忘掉,作一下笔记UIGestureRecognizerState的定义如下typedef NS_ENUM(NSInteger, UIGestureRecognizerState) { UIGestureRecognizerStatePossible, // the recognizer has not yet recognized its转载 2017-02-28 20:15:14 · 1541 阅读 · 0 评论 -
iOS中的round/ceil/floorf函数略解
extern float ceilf(float);extern double ceil(double);extern longdouble ceill(longdouble);extern float floorf(float);extern double floor(double);extern longdouble floorl(longd转载 2017-03-31 17:25:58 · 309 阅读 · 0 评论 -
iOS中的MAX(A,B)
问题由来今天有朋友在使用MAX(A,B)的时候出现了一个诡异的问题: 代码是这样的: 而执行的结果竟然是这样的: “我是不是眼花了?max(-1,0)返回了-1?”我的朋友惊讶到。 这不科学啊,怎么会负数比0大呢?于是我查看了MAX(A,B)的源码: 验证过程然后我做了如下两个实验(请注意调试区a的类型):实验1:(a的类型为unsigned lon转载 2017-04-13 10:40:19 · 1327 阅读 · 0 评论 -
利用arc4random_uniform()产生随机数
Cocoa 中有个arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机值进行限制,有点麻烦。其实Objective-C有个更方便的随机数函数arc4random_uniform(x),可以用来产生0~(x-1)范围内的随机数,不需要再进行取模运算。如果要生成1~x的随机数,可以这么写:arc4random_uniform(x)+转载 2017-04-17 15:05:55 · 2784 阅读 · 0 评论 -
iphone 推送服务--Apple Push Notification Service
标注:APNs苹果推送服务器Device 安装带有推送服务程序的iPhone手机Provider 程序服务器,把需要推送的信息发给 APNsDeviceToken 在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Device 都需要 DeviceToken作为认证。Payload转载 2017-04-13 17:04:48 · 1081 阅读 · 0 评论 -
iOS中图片压缩成指定的大小
iOS中,我们为了节省内存,需要对图片来进行处理,来优化程序,提高程序的效率,下面是一个根据自己的要求来重新设置图片的大小:一、压缩图片有两种方式,第一种是压缩图片的大小,重新生成图片的尺寸:如下/**压缩图片到指定尺寸大小@param image 原始图片@param size 目标大小@return 生成图片*/-(UIImage *)compressOriginalI...转载 2018-12-27 16:06:21 · 754 阅读 · 0 评论 -
iOS tabbaritem设置红点大小、自定义宽高
项目需求,希望当用户存在未读消息的时候在对应的UITabBarItem上显示小红点。发现IOS自带的UITabBarItem的badgeValue尺寸偏大,不满足项目需求。第一步,建一个UITabBar的category类别。第二步,编写代码。.h文件[objc] view plain copy#import @interface U转载 2016-09-18 16:19:14 · 4022 阅读 · 0 评论 -
YTKRequest 请求报错 NSURLErrorUnsupportedURL
在AFURLResponseSerialization.m 文件的 AFJSONResponseSerializer 里,修改self.acceptableContentTypes,增加@“text/html”。原创 2018-12-04 10:15:53 · 1436 阅读 · 0 评论 -
iOS UIDatePicker 的 用法
iOS UIDatePicker 的 用法1.Locale设置DatePicker的地区,即设置DatePicker显示的语言。1.跟踪所有可用的地区,取出想要的地区NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);2. 设置日期选择控件的地区[datePicker setLocale:[[NSLocale转载 2016-08-05 11:07:39 · 324 阅读 · 0 评论 -
iOS UILabel 文字竖排显示
iOS UILabel 文字竖排显示做iOS开发要经常用到UILabel。UILabel一般只适用一些简单的文字显示。当需要复杂的图文混排的时候,可以用CoreText来做。但是CoreText用法复杂,当我们遇到一些不是很复杂的交互需求时,用CoreText就有点杀鸡用牛刀的意思。这里介绍一下我在项目里遇到的一个案例。先来看看效果:这里要求文字都是竖排显示,并且当文字是非汉字转载 2016-07-19 14:19:44 · 5002 阅读 · 0 评论 -
UILabel标签文字过长时的显示方式
UILabel标签文字过长时的显示方式 lineBreakMode:设置标签文字过长时的显示方式。 label.lineBreakMode = NSLineBreakByCharWrapping; //以字符为显示单位显示,后面部分省略不显示。 label.lineBreakMode = NSLineBreakByClipping; //剪切转载 2016-09-27 14:51:54 · 1258 阅读 · 0 评论 -
iOS 设置UILabel中的text指定范围的字体颜色
UIlabel *label = [[UILabel alloc] init];label.text = @"苍老是一段年华";NSMutableAttributedString *attributed = [[NSMutableAttributedString alloc] initWithString:label.text]; NSRange range = NSM原创 2016-01-14 18:01:35 · 505 阅读 · 0 评论 -
iOS 设置view的边框
iOS 设置view的边框,我们可以很容易的给一个view加上边框,这样会使一个view的四边都有一个线,但有时候我们想要的并不是四个边都有,而是仅仅某几个边有边框效果,其他边没有边框,可以尝试一下下面的方法。注:self 是当前的view ,MAINSCREEN_WIDTH是宏定义的屏幕宽度 //上边框 CALayer *topLayer = [CALa原创 2016-07-26 14:24:42 · 3891 阅读 · 0 评论 -
iOS 设置父控件的透明度后,子控件会受到父控件透明的影响。
iOS 设置父控件的透明度后,子控件会受到父控件透明的影响。一.问题描述:项目中遇到添加一个黑色透明的遮罩,在遮罩上添加子控件,使用下列方法添加,子控件也变成透明的UIView *blackV = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HIGHT)]; blackV.b转载 2016-09-01 11:06:56 · 1549 阅读 · 0 评论 -
iOS 设置视图的圆角效果
- (void)viewDidLoad { [super viewDidLoad]; UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 100, 100, 100)]; view.backgroundColor = [UIColor cyanColor]; [self.vi原创 2016-03-24 10:27:33 · 422 阅读 · 0 评论 -
iOS RATreeView的简单使用(树状列表)
RATreeView是一个第三方的iOS树视图(通俗的讲就是折叠单元格),它是对UITableView的封装,定义自己的委托和数据源的法,RATreeView是高度可定制的,并且有很多功能。很多朋友都说使用的不好,官方讲的也不够详细,所以我就给大家讲一下,怎么使用.首先先看下实现效果1.gif使用方法CocoaPods pod 'RATreeView',转载 2017-02-27 17:30:54 · 2992 阅读 · 0 评论 -
iOS 8下设置cell的分割线缩进separatorInset
iOS 8下设置cell的分割线缩进separatorInset-(void)viewDidLayoutSubviews{ if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeI原创 2016-12-16 15:56:50 · 979 阅读 · 0 评论 -
iOS 设置tableView 组与组之间的间距,
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 10;}这个代理方法只会设置导航栏与第一组之间的间距;而其他组之间的间距要通过tableView的sectionHeaderHeight、sectionFooter原创 2016-07-05 12:00:02 · 5353 阅读 · 0 评论 -
iOS 自定义cell改变其中子控件frame值
iOS 自定义cell改变其中子控件frame值,我在layoutSubviews方法中改变自定义cell中子控件label的frame值,发现并没有改变,于是查找资料,有的说关掉autolayout再进行设置改变,有说直接在xib文件中把约束连接到.h/.m文件中,在进行设置,然后我用的是后者,发现果然好用,我是改变的label高度的值,然后把这条约束连线过来,直接在layoutSubviews原创 2016-07-25 11:57:29 · 1106 阅读 · 0 评论 -
ios tableview/collectionView关于点击cell后 刷新cell
ios tableview/collectionView关于点击cell后 刷新cell用数组记录点击cell的索引值,然后用数组的- (BOOL)containsObject:(ObjectType)anObject;这个方法判断该点击cell的索引值是否在数组中,来进行相应的操作。#pragma mark - UICollectionViewDataSource- (NSI原创 2016-08-24 16:42:01 · 2802 阅读 · 0 评论 -
UITableView 横向滚动(一)
UITableView 横向滚动的实现转载 2016-07-21 19:18:51 · 965 阅读 · 0 评论 -
iOS——获取键盘高度,
- (void)viewDidLoad{ [super viewDidLoad]; //使用NSNotificationCenter 键盘出现时 [[NSNotificationCenter defaultCenter] addObserver:self selecto转载 2016-10-17 18:14:12 · 367 阅读 · 0 评论 -
iOS 服务器返回NSData数据,解析为null
通常情况下,使用下面的方法都能接收到服务器数据都能正常解析为NSDictionary(responseObject为服务器返回的二进制数据)NSDictionary * dicJson = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil转载 2017-07-26 10:25:31 · 775 阅读 · 0 评论 -
iOS 时间戳转换为字符串
1、获取当前系统时间戳 NSDate *currentDate = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFor原创 2016-01-08 15:09:42 · 309 阅读 · 0 评论 -
根据日期判断星期几
根据日期判断星期几 [_comps setDay:23]; [_comps setMonth:3]; [_comps setYear:2014]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGrego原创 2016-08-08 13:56:40 · 394 阅读 · 0 评论 -
- (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes使用方法
- (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes使用方法 objects 是 插入的一个数组, indexs是插入的位置,下面说一下indexes的创建方法。NSIndexSet的创建方法,一个起始点和所要加入的数组的长度即可 NSRange range = NSMake原创 2016-12-22 11:56:38 · 588 阅读 · 0 评论 -
iOS — 判断NSString是否有效
//判断字符串是否有效+ (BOOL) isInvalidString:(NSString *)string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNul原创 2016-12-21 11:17:29 · 573 阅读 · 0 评论 -
iOS — tableView头视图缩放效果。
#pragma mark - UIScrollViewDelegate- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ //取 tableview 头视图 UIView *headerView = [self.view viewWithTag:1618]; CGFloat yOffs原创 2017-09-14 17:13:22 · 709 阅读 · 0 评论