博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录写项目过程中一些不知道的方法。
阅读量:5106 次
发布时间:2019-06-13

本文共 3867 字,大约阅读时间需要 12 分钟。

1、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:

(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。

根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。

注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。

UIImage *img=[UIImage imageNamed:@"bubbleSelf.png"];    img=[img stretchableImageWithLeftCapWidth:15 topCapHeight:12];    UIImageView *imgView=[[UIImageView alloc]initWithImage:img];    [imgView setFrame:CGRectMake(10, 10, 200, 200)];    [self. view addSubview:imgView];

 2、和我遇到的问题一样,直接复制的网上的。

不小心在开发过程中,得到了(null)以及<null>的,找了好长时间只找到了一个关于<null>的。

由于要根据进行判断,做出必要反应,因此必须知道所代表的具体字符,在得到(null)后利用isEqual:和@“”,NULL,@“(null)”,nil,Nil比较后均得不到正确结果,弄得不知所措了,但是还是感觉像nil,不得已,创建一个字符串,赋值为nil,打印输出,果然是(null),想不通的是为什么不等。最后试了一下“==”,成功了。费尽周折之后才明白原来要这样用:

if(m_result==nil)

{

NSLog(@"!");

}

还有就是<null>,从网上找到了用法:

if([m_result isEqual:[NSNUll null]])

{

NSLog(@"!");

}问题很简单,找不到原因解决就难了,不由感叹,基础最关键啊。

3、今天在自定义一个cell的时候,自定义cell上有一个按钮,写完之后,发现运行出来的界面上没有这个按钮,后来试了几次,发来可能是因为使用了懒加载的原因,于是试了一下,果然是这样。问了旁边的大神才知道,cell是一个View,他自己没有被用到的时候,他自己就不存在,所以要用懒加载的话只能写在控制器里面。

4、打包的时候,product->archive是灰色的,如果scheme->edit scheme改成release后还是灰色的,可能是选择的是模拟器,改成generic ios device 就可以了。

5、对字典中的key进行排序

NSArray *keys = [_paramsDic allKeys];    //按key排序    NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {        NSComparisonResult result = [obj1 compare:obj2];        return result == NSOrderedDescending; //升序    }];    NSMutableArray *arr = [NSMutableArray array];    for (NSString *key in sortedArray) {        id value = [_paramsDic objectForKey:key];        NSString *appendStr = [NSString stringWithFormat:@"\"%@\":\"%@\"",key,value];        [arr addObject:appendStr];    }    //用","拼接数组内的字符串    NSString *arrStr = [arr componentsJoinedByString:@","];    NSString *paramsString = [NSString stringWithFormat:@"%@%@%@",@"{",arrStr,@"}"];

 6、服务器要求传递的参数为json类型的字符串

1   NSString *urlStr = @"http://music.163.com/#/song?id=5086081"; 2     AFHTTPSessionManager *manager=[AFHTTPSessionManager manager]; 3     //发送json格式的请求参数-->虽然下面我们看似传的是一个字典,但是写了下面这句代码后,就会自动把字典参数转换为json格式的字符串类型的参数传给服务器 4     manager.requestSerializer=[AFJSONRequestSerializer serializer]; 5     //返回json格式的字符串 6     manager.responseSerializer=[AFJSONResponseSerializer serializer]; 7     NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 8     dic[@"id"] = @"5086081"; 9     [manager POST:urlStr parameters:dic success:^(NSURLSessionDataTask *task, id responseObject) {10         NSLog(@"请求成功");11     } failure:^(NSURLSessionDataTask *task, NSError *error) {12         NSLog(@"请求失败");13     }];

 7、获取图片的大小:

CGSize size= [UIImage imageNamed:@"jjsx"].size;
//path 图片的本地路径CGSize size=[UIImage imageWithContentsOfFile:path].size;

8、定位服务

// 判断的手机的定位功能是否开启    // 开启定位:设置 > 隐私 > 位置 > 定位服务    if ([CLLocationManager locationServicesEnabled]) {        // 启动位置更新        // 开启位置更新需要与服务器进行轮询所以会比较耗电,在不需要时用stopUpdatingLocation方法关闭;        [self.locationManager startUpdatingLocation];    }
// 判断的App的定位功能是否开启 CLAuthorizationStatus status = [CLLocationManager authorizationStatus];    if (kCLAuthorizationStatusDenied == status || kCLAuthorizationStatusRestricted == status) {
NSLog(@"请前往设置开启app的定位功能"); }
询问是否开启定位功能       //1.需获取地理位置权限        //添加实例        _locationManeger = [[CLLocationManager alloc] init];        [_locationManeger startUpdatingLocation];        //询问用户,获得权限。会有一个弹窗,询问用户是否允许app获取当前地理位置        if (iOS8) {        //使用应用程序期间允许访问位置数据        [locationManager requestWhenInUseAuthorization];        //始终允许访问位置信息//        [locationManager requestAlwaysAuthorization];
}

具体定位步骤请参考:http://blog.devzeng.com/blog/ios8-corelocation-framework.html

转载于:https://www.cnblogs.com/zpt1011/p/5318345.html

你可能感兴趣的文章
github常用命令
查看>>
HDU - 4027 Can you answer these queries?(线段树)
查看>>
Java提要
查看>>
OpenLayers 项目完整分析——(二)源代码总体结构分析
查看>>
python多线程和GIL全局解释器锁
查看>>
Mac OS10.9.2下的eclipse Pydev开发环境配置
查看>>
Bzoj3230: 相似子串
查看>>
有理想的程序员必须知道的15件事
查看>>
JVM学习笔记二_对象的创建、布局和定位
查看>>
python数据类型内置方法 字符串和列表
查看>>
mysql数据库还原出错ERROR:Unknown command ‘\\’解决手记
查看>>
python--sys模块
查看>>
Linux 命令
查看>>
MySQL5.7开多实例指导
查看>>
C语言二维数组作为函数的参数
查看>>
MongoDB与传统的关系型数据库的不同
查看>>
Programming Collective Intelligence
查看>>
nginx学习 - ip_hash的hash算法
查看>>
[SDOI2009][BZOJ1876] SuperGCD|高精度|更相减损术
查看>>
import同目录的py文件 :ModuleNotFoundError: No module named 'pdf'
查看>>