自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chenyingSunny的专栏

记录技巧

  • 博客(35)
  • 收藏
  • 关注

原创 消息转发第一步resolveInstanceMethod返回YES or NO?

不少初学runtime的同学都被这张图(侵删)有点误导了,认为resolveInstanceMethod返回NO才接着走后面的转发流程,而返回YES就停止转发了,其实如果重写的resolveInstanceMethod什么也不做,只是返回YES也会接着走后面的转发流程。这个返回值对于消息转发流程没有任何意义,从runtime的源码来看这个返回值只和debug的信息相关。从源码可以看到,不管...

2020-04-07 16:23:17 2666

原创 collectionView scroll to section header perfectly

collectionView添加section header之后,scrollToItem方法表现不好,滚动之后section的第一行总是露出半截;用setContentOffset来实现滚动,对于最后一个section,如果不满一屏,就会很尴尬的卡在顶部,一滑动collectionView,这个section就会掉下来,效果不好,最终用scrollRectToVisible完美解决,如下:g...

2019-07-17 17:57:23 507

原创 给Activity传递(伪装的)Delegate、Adapter等

iOS中很容易给UIViewController传递Delegate,block,做到两个页面数据的交互,但是Android做到这点却不容易,模仿iOS整理出一套方案来,如下:public class SearchActivity extends BaseActivity { private static class SearchHelper { public st...

2019-07-05 14:27:59 467

原创 iOS 一键返回App首页功能

从App的rootViewController开始,找到所有presentedController,然后逆序dismiss这些Controller,最后pop to rootViewController就可以了。参考这个思路可以做一些其他非常规页面跳转。- (void)backToHomePage{ UIWindow *window = [(AppDelegate *)[UIAppl...

2019-01-09 17:59:08 2103

原创 UIButton AutoLayout 宽度动态计算

让Button和Label一样,宽度动态计算。UIButton *button = [[UIButton alloc] init];[button setTitle:@"宽度动态确定的按钮" forState: UIControlStateNormal];[button setTitle:@"宽度动态确定的按钮" forState: UIControlStateHighlighted];...

2018-03-27 11:21:00 1829

原创 Android点击通知栏消息,仅打开App,不跳转到具体Activity

Intent msgIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);//获取启动ActivityPendingIntent pendingIntent = PendingIntent.getActivity( context,

2017-11-29 15:54:27 11015 2

原创 限定二维码扫描范围

使用iOS原生的二维码扫描,如何限定扫描范围,你可能已经知道,通过设定AVCaptureMetadataOutput的rectOfInterest来限定范围,对,就是这个属性。 The value of this property is a CGRect that determines the receiver’s rectangle of interest for each frame of

2017-06-19 17:14:22 1526

原创 Mac系统崩溃,如何备份、恢复数据

升级系统,结果安装过程中提示磁盘空间不足,导致系统崩溃,数据也没有做过备份,那如何恢复呢?Mac的磁盘工具来帮忙!下面的方法适用于Mac存储空间不足的情况下,备份和恢复数据。Command+R 按开机键 ,进入Mac 实用工具, 选择磁盘工具。选中你要恢复的系统磁盘,去菜单找文件>新建映像>来自”Macintosh HD”的映像,这里的Macintosh HD就是你的系统磁盘。输入磁盘映像的文件名称

2017-06-15 18:51:16 44417 3

原创 You may need to configure your browser or application to trust the Charles Root Certificate.

Charles 抓包报以下错误: You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.解决方法: iPhone,设置–>通用–>关于本机–>证书信任设置–>打开信任开关参考链接:https:/

2017-05-27 16:55:08 21258

原创 证书过期,影响App Store已经上架的应用吗?

不影响!已经安装的可以正常使用,也还可以从App Store下载。(除非你的开发者账号过期了,那得续费了) 过期的话,直接revork过期的证书,然后重新生成证书和Provisioning Profile文件,打包重新上架即可!

2017-04-12 17:01:56 12421 1

原创 iOS企业版应用,Provisioning Profile文件即将过期怎么办?

不要慌,很简单,打开苹果开发者Account管理页面,找到即将过期的Provisioning Profile,Edit——>Generate,下载更新的Provisioning Profile文件,重新打包即可。

2017-04-12 16:53:08 8923

原创 Xcode修改项目名称

1、编辑项目功能的名称,编辑,回车保存,Xcode会弹出提示:Rename project content items? 点击Rename,之后点击OK。2、修改项目文件夹的名称,在finder中修改名称之后,选中文件,在Xcode的Identity and Type中修改name和Location,点击Location右下角的文件图标,修改文件关联的物理路径。3、修改Building Settin

2017-03-07 16:44:01 2186

原创 根据圆心经纬度和半径计算地图zoom level

calculate the zoom level of the map view

2017-02-10 17:23:02 4528

原创 实现UITableView的reloadData完成之后做一些操作

要想实现在reload之后弹出alertView,或者滚动到特定一行, 也许你会这么写[_tableView reloadData];[_tableView scrollToRowAtIndexPath:path atScrollPosition:UITableViewScrollPositionTop animated];看似没问题,但是滚动没起作用,因为reloadData是立即返回的,不会

2016-11-29 11:38:19 5296

原创 iOS 怎样实现最多保留n位小数

NSNumberFormatterNSNumberFormatterDecimalStylegroupingSeparator

2016-08-08 14:29:38 1874

原创 ScrollView嵌套TableView,左划删除手势失效解决方案

可以左右滑动的ScrollView 中嵌套了3个TableView,你会发现TableView的左划删除手势失效了,如何解决呢?自定义一个ScrollView,或者扩展,实现UIGestureRecognizerDelegate 中下面的方法,判断手势的view的superView是不是UITableView即可!- (BOOL)gestureRecognizer:(UIGestureRecogni

2016-07-27 16:15:06 4196

原创 Undefined symbols for architecture armv*

升级了Xcode7.3,结果工程编译报错, Undefined symbols for architecture armv7…… 查了好多资料,试了好多方法不起作用,最后想到删除一下 Derived Data,结果真好了,内牛满面!打开Window->Projects,点击delete即可。

2016-07-07 17:25:37 382

原创 多个Target的podfile文件配置

多个Target的podfile文件配置遇到The dependency * is not used in any concrete target这种错误,是因为没有在podfile文件中设置target,如果工程只有一个targettarget 'Target' do pod 'AFNetworking', '~> 2.3.1'end如果是多个target:abstract_target

2016-06-20 16:38:14 3415

原创 给UIColloectionViewCell设置点击效果,解决点击效果错位的问题

如何给UIColloectionViewCell设置点击效果,本以为像全局设置UITableViewCell选中的颜色一样,这样写:    UIView *backgroundView = [[UIViewalloc] init];    backgroundView.backgroundColor = [UIColorcolorWithRed:0xe6/255.0green:

2016-02-24 16:25:30 2162

原创 如何使UIButton中的imageview旋转

很简单:    [UIViewbeginAnimations:@"rotate"context:nil];    [UIViewsetAnimationDuration:.25f];    if(CGAffineTransformEqualToTransform(_cityButton.imageView.transform,CGAffineTransfor

2014-12-24 15:20:16 5081

原创 iOS代码方式退出应用

虽然官方不建议代码中退出程序,但是你如果有需求,还是有办法滴![[UIApplication sharedApplication]performSelector:@selector(suspend)];exit(0);这样的效果是既有按home键的效果,也实现了退出程序的要求。当然你也可以在exit(0)之前做一些保存信息之类的操作。

2014-04-24 10:43:23 845

原创 UIWebView加载HTML,如何使网页中的图片可点击?

正常情况下,UIWebView中的内容是不能操作的(除了copy之类的),当然图片更不能操作,但是能不能实现点击图片来做一些其他处理呢?比如点击图片,跳转到单独显示该图片的页面,答案是肯定的,而且相当简单!这里用到了javascript。第一步:UIWebView 加载要显示的html,可来自网络,也可来自本地。[_webView loadHTMLString:htmlString bas

2014-04-16 11:15:50 4057

原创 用autolayout如何在横竖屏切换情况下改变控件的位置

在IB中,你用的autolayout来设置控件的位置和大小,你有一个需求,有一个imageView,水平居中,竖屏时距离top 280,但横屏时只有180,需要往上移一下。这怎么实现呢,好像在IB中没法设置他的动态距离吧?(如果哪位知道,请告诉我)IB中不能设置,只好在代码中设置了。因为每次转屏时都会调用viewWillLayoutSubviews,所以在这个方法里设置就可以,具体方法是:

2014-04-04 17:47:34 2582

原创 改变模态弹窗的大小

以UIModalPresenttationFormSheet方式弹出模态窗口,你会发现不管你的viewController多大,弹出来的都是固定大小,这就是UIModalPresenttationFormSheet的作用,将你的view大小固定了。难道不能改变吗?当然能,做法就是:在调用presentViewController方法之后,再设置目标viewController的大小:

2014-04-04 16:35:06 2229

原创 模态弹窗,点击黑色半透明区域消失

点击黑色半透明区域让模态弹窗消失,很简单,给模态窗口的加一个手势就行了,我的模态窗口是一个viewController,大家可以灵活变通,道理都一样。在viewDidAppear(viewWillAppear也行,不能在viewDidLoad中)中,给window加一个tap手势监听。注意一定是给window加,因为self.view只是模态窗口的那部分,不包括黑色半透明区域。我将recogn

2014-04-04 15:48:14 1779

原创 如何NSLog Integer类型,帮你消除warning

NSInteger i = 42;NSLog(@”%d”,i);也许之前你都是这么NSLog Integer类型的,但是随着Xcode版本和iOS版本的不断升级,你会发现Xcode对此会出警告,尤其你将BuildConfiguration设置成Release后,运行时警告会更多。这是因为苹果最近发布的产品都是64位的了,而NSLog(@”%d”)是Signed32-bit integer

2014-04-04 14:49:52 3156

原创 IB中,如何快速将一些组件整体放入或移出一个view(或Scrollview)中

比如有12个按钮,你可能刚开始做布局的时候直接放在xib根view中,后来由于项目需求,发现把他们放在一个view中好管理,也许你会拖进一个view来,然后把12个控件选中,拖到新的view中,结果就如下图,所有的按钮就到view的中心来了,之后还得一个一个手动重新布局定位。布局简单的还好,要是复杂的话就呵呵了。当然,xCode有办法,而且很简单,做法如下:选中这12个按钮(在outlet

2014-04-04 14:42:23 1015

原创 ios中html加载本地图片的路径转换问题

NSString *pathstr = [[NSBundle mainBundle] pathForResource:@"IMG_NAVIGATIONBAR" ofType:@"png"];在html中直接用上面的路径的不行的,html找不见那个图片,要对路径进行转换成html识别的才行。下面就是转换方法:pathstr = [pathstr stringByReplacingOccurr

2014-01-10 10:08:34 2700

原创 xcode中获取js文件的路径

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"click" ofType:@"js"];理论上这样是应该能获取click.js的路径的,但是返回的确是null。解决方法是:项目的TARGETS-->Build Phases在Compile Sources中 ,去掉你的js文件在Copy Bundle

2014-01-10 09:59:27 1147

原创 UILongpressGestureRecognizer,长按之后可以随意在当前view和其父View上移动的问题

不知道你有没有注意到,给一个UIButton添加一个长按手势识别:UILongpressGestureRecognizer,当触发长按之后,你可以随意在这个UIButton的父View上移动手指,也不会停止长按,假如整个屏幕都是UIButton的父View,那么只要你触发了长按,然后不松手就可以随意在整个屏幕上移动,知道抬起手指,这样我觉得很奇怪,明明是给UIButton添加的长按手势,为什么手指

2013-12-20 14:28:55 5520

原创 UIScrollView分页并显示上下页,像mobile safari tab那样

如何实现想safari(IOS7之前的)编辑模式中那样的效果,既能翻页,还能看到上下页,如下图:一般的我们都会想到改变UIScrollView翻页的大小不就行了吗?但是我查了一些资料,UIScrollView默认的一页就是UIScrollView的大小,也可以自定义,但是貌似比较复杂,对于我这种菜鸟级的还有点“奢侈”。既然不能改变一页的大小,那就把UIScrollView设置成你要求的

2013-12-19 15:42:26 2140

原创 UIButton on the UIScrollView highlighted delayed

最近做项目遇见一个问题:UIScrollView上有许多UIButton,要实现既能点击UIButton,又能滑动UIScrollView,这个实现没有问题,不需要做额外的touch管理,UIScrollView能识别是点击的UIButton还是滑动本身,但是有一个效果上的问题,就是点击UIButton时间短的话,不会高亮,但是确实是触发点击了,这样就造成了假象,给人一种UIButton没有被点击

2013-12-18 12:40:53 3196 2

转载 保持UIButton高亮状态

有一些情景,我们需要保持Button的高亮状态,下次点击再消失.比如一些开关控制,打开闪光灯之类。我的第一反映是在UIButton的事件中直接将UIButton的highlighted属性设为真,如下:123-(void) onButtonClick:(id)sender{ [sender setHighlighted:YES];}

2013-12-12 09:38:56 4585 1

原创 关于TabActivity的菜单点击

按照以往的经验,为一个Activity添加菜单,并且写菜单的点进监听事件,代码如下:@Override public boolean onCreateOptionsMenu(Menu menu) {  // TODO Auto-generated method stub  MenuInflater inflater = getMenuInflater();  inflater.

2013-05-26 19:01:50 663

原创 如何取消Toast的显示

有时候点击按钮会出现提示Toast,如果多次点击,就会一直累计出现,即使你离开这个Activity还是会出现知道最后一Toast显示完,有什么办法让一离开,比如按back键就不让这些Toast显示呢?下面这个方法来自于网络,本人已经测试过完全可行!我这里有一个方法,实现起来比较简单,也不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时

2013-04-18 13:56:47 2202 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除