工作问题随笔

第一篇在简书上的文章,以前都是写在博客上,但是也得跟上时代的步伐不是..虽然有点晚   -.-

1.在searchBar上的UIText中字符串不能及时获取问题,只需要把获取的string转换成可变字符串就可以

NSMutableString*newtxt = [NSMutableStringstringWithString:textField.text];

[newtxtreplaceCharactersInRange:rangewithString:string];

2.Tableview不识别touchesBegan方法

UITableView是不会响应touchesBegan:withEvent:之类的UIResponder的方法的。因此,加在其上的所有视图的响应者链就断了。如果在UITableView其上加任何的自身不具备类似UIButton一样有目标动作机制的UIView及其子类控件的时候,这个控件也不会响应touchesBegan:withEvent:方法。即便是设置该控件的userInteractionEnabled为YES也没用。

如此一来,如果想要这些控件具有交互性能怎么办?有一种很直观的方法,给这个控件加上手势识别器。

- (void)addAGesutreRecognizerForYourView

{

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesturedDetected:)]; // 手势类型随你喜欢。

tapGesture.delegate = self;[yourView addGestureRecognizer:panGesture];

}

- (void)tapGesturedDetected:(UITapGestureRecognizer *)recognizer

{

// do something

}

3.SDWebImage的三级缓存,大量图片是否造成APP crash

首先检查了SDWebImage代码中对于memory warning的处理:

- (void)clearMemory {

[self.memCache removeAllObjects];

}

其中self.memCache是NSCache类型的,可以看到SDWebImage本身对内存警告执行了操作,但是并没有什么X用。

可以看到内存基本都在decodedImageWithImage:这个方法里被占用了

在使用SDWebImage加载较多图片造成内存警告时,定期调用

[[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];

可解决。

4.Didload里面直接show一个UIAlertController 会显示不出来

刚步入iOS开发会遇到这个问题,警告是 viewcontroll没有被加载

非常典型的一个生命周期问题,把show UIAlertController 这个操作放在ViewDidApear中,等待当前视图控制器加载完了之后再调用UIAlertController控制器,这样的话就可以调用了.

5.模态界面的直接返回父视图的根视图

self.presentingViewController.view.alpha=0;

[self.presentingViewController.presentingViewControllerdismissViewControllerAnimated:YEScompletion:nil];

6.解决cell分割线缺失一段

-(void)viewDidLayoutSubviews {

if([self.tableViewrespondsToSelector:@selector(setSeparatorInset:)]) {

[self.tableViewsetSeparatorInset:UIEdgeInsetsZero];

}

if([self.tableViewrespondsToSelector:@selector(setLayoutMargins:)])  {

[self.tableViewsetLayoutMargins:UIEdgeInsetsZero];

}

}

-(void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPat{

if([cellrespondsToSelector:@selector(setLayoutMargins:)]) {

[cellsetLayoutMargins:UIEdgeInsetsZero];

}

if([cellrespondsToSelector:@selector(setSeparatorInset:)]){

[cellsetSeparatorInset:UIEdgeInsetsZero];

}

7.在模态界面添加timer

主线程,运行时Runloop机制问题,响应者链找不到当前视图控制器的Runloop,需要添加一个线程,把timer放在这个线程的RunLoop中,注意释放.在请求中添加timer会阻塞请求线程,整个APP线程会崩溃

dispatch_async(dispatch_get_global_queue(0,0), ^{

NSTimer*t = [NSTimerscheduledTimerWithTimeInterval:1.0f

target:self

selector:@selector(configureTimerr:)

userInfo:@{@"strTime":strTime,@"endTime":endTime}

repeats:YES];

[[NSRunLoopcurrentRunLoop]addTimer:tforMode:NSDefaultRunLoopMode];

[[NSRunLoopcurrentRunLoop]run];

});

8.init里边初始controller.注册通知.通知无效

通知的结果操作view,还没调用load view,view为nil

9.防止用户多次点击按钮弹窗重复

@synchronized(self){

if (self.view.userInteractionEnabled == NO)

return;

}

self.view.userInteractionEnabled = NO; //防止用户多次点击按钮弹窗重复

10.performSeletor...afterDelay在子线程不能使用

performSeletor...afterDelay这个函数一定要在主线程用,在子线程使用不延迟

11.判断是否有自定义键盘

自定义键盘和第三方键盘的class不一样

NSArray*array = [UITextInputModeactiveInputModes];//获取键盘类型个数

if([[[UIDevicecurrentDevice]systemVersion]floatValue] >=9.0) {

//系统大于9.0的时候,在系统键盘上多了一层layer层可修改

temp = [[[UIApplicationsharedApplication]windows]objectAtIndex:2];

}else{

//系统不大于9.0时候,在系统键盘上没有那一层

temp = [[[UIApplicationsharedApplication]windows]objectAtIndex:1];

}

[tempaddSubview:_dianBT];

12.[UIScreen mainScreen].bounds.size.width值不改变问题

在LaunchImage中必须有Default.png和Default-568h.png文件,如果iOS 检测不到这两个文件就不会根据屏幕尺寸适配

13.tableview和collection view中的手势冲突问题

//- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

//    DLog(@"1");

//    if ([touch.view isKindOfClass:[UITextField class]])

//    {

//        return NO;

//    }

//    //若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件

//    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {

//        return YES;

//    }

//    return YES;

//}

14.百度地图-雷达搜索坑点

(1) 第一次检索的时候是以当前用户的位置为中心进行检索(默认)

(2) 上传第一次的位置信息是检索不出来的,因为是以最后上传的位置为中心检索

(3) 第二次上传信息之后,可以检索到第一次上传的信息,因为是以第二次上传的位置为中心进行检索,可以检索到第一次的位置信息,但是返回的数组中没有当前上传的信息.

总结:总归当前上传的是查不出来的,因为是默认为中心点的.不上传的话是默认为当前位置

(4) 百度官方中Demo设置雷达的时候,中心点的坐标获取是一个监听,要是用户不移动的话获取不到用户位置,也就获取不到数据(BUG)

(5) 百度周边雷达上传自己位置的时候,上传的备注信息中不能有”/“符号(可能还有其他限制,暂时就知道不能上传”/“),倒是可以上传”-"这个符号

这段代码!!!!

[_mapview showAnnotations:@[_annotation] animated:NO];

会自动把视角移动到这几个标记点上

15.push几种跳转问题(个人认为比较不容易出问题的方式)

(1)     [self.tabBarController.tabBarsetTranslucent:NO];  (在用storyboard时隐藏tabbar)

(2)     yourVC.hidesBottomBarWhenPushed=YES;(在用XIB时隐藏tabbar)

(3)     self.hidesBottomBarWhenPushed=YES;(没有XIB时隐藏tabbar)

16.获取父视图控制器

- (UIViewController*)viewController

{

for(UIView* next = [selfsuperview]; next; next = next.superview) {

UIResponder*nextResponder = [nextnextResponder];

if([nextResponderisKindOfClass:[UIViewControllerclass]]) {

return(UIViewController*)nextResponder;

}

}

returnnil;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,084评论 1 6
  • 1、禁止手机睡眠 [UIApplicationsharedApplication].idleTimerDisabl...
    小热狗阅读 853评论 0 2
  • 创建元组 获取元组中的数据 遍历元组 转化成String
    牛马风情阅读 787评论 0 1
  • 同学们陆陆续续地实习,我还待在学校等通知。讨厌这样拖拖拉拉的效率,然而这就是生活,总会有很多莫名其妙的东西,考验人...
    Caylin阅读 124评论 0 1
  • 是灰的一层接一层的高楼,也是扬起又扬起的灰尘。成都,这座古都。对于它,我这个成都郊区的成都乡下人,感情并未有土生土...
    马北田阅读 219评论 0 0