工作中遇到的问题整理

1.cell上控件(比如label)比预设的长度要小的问题

不知道大家有没有遇到过tableview列表cell的宽度比自己预设的宽度要小一点,并且当消失在视线后再出来时恢复正常的宽度,由于那时候入行 还不久么,怎么找也找不到原因,后来才发现如果自定义cell的时候如果用固定的某个值,比如说200,就没问题,如果是使用 self.contenview.frame.size.width,就会出现上面所说的情况.原因是什么呢?主要是因为时机的问题,当 tableview最初加载自定义的cell时,其实这时候的cell的contentview大小是不确定的,因此会按照最小的屏幕系列宽度来计算,所 以在cell中以contenview的大小来做标尺的控件就会出现问题,当发生重用的时候contentview的大小已经确定,因此再次出现在视野里 时就显示正常了;解决方法很简单,自定义cell中控件的大小以屏幕的宽度为依据就可以了;

2.获取cell上控件相对于屏幕的位置

NSIndexPath *indexpath = [NSIndexPath indexPathForRow:3 inSection:1];

CGRect rectInTableView = [_tableview rectForRowAtIndexPath:indexpath];

CGRect rect = [_tableview convertRect:rectInTableView toView:[_tableview superview]];

3.键盘闪一下的问题:

问题描述:

当在一个界面中存在输入框时,当成为第一响应者之后回触发键盘的出现,若这时点击返回上一  界面让其出现一个弹框提示,点击取消依然停留在当前页面,点击确定返回上一页面时回出现键盘在上一页面闪一下的问题;

问题原因:

当弹框出现时,其他的所用控件将失去第一响应,但会记录弹框出现以前的状态,当弹框消失后会让一切恢复原样,则如果键盘本身是编辑状态,弹框消失后键盘会再次出来,但键盘的出现和消失有动画时间大概0.25秒,因此如果点击弹框的确定按钮,返回上一页面,由于键盘的动画还没有完成,因此会在上一界面继续完成,所以会出现键盘闪的问题;

解决方法:

让键盘的出现或消失在本界面完成,也就是当点击确定按钮的触发方法中延迟大概0.25秒再pop回上一页面,就可以解决;

4.解决textFiled或textview刚开始编辑时光标不在起始位置的问题,手动设置选中位置即可

self.contentTextView.selectedRange = NSMakeRange(0,0);

若不管用,则设置(ios7后导航栏偏移的问题)

self.automaticallyAdjustsScrollViewInsets = NO;

5.项目中若当隐藏navigation bar 时,若出现view下移导致电池栏为空白,原因是因为ios7时edgesForExtendedLayout默认为UIRectEdgeAll,设置成

if(IOS7DEVICE){

if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {

self.edgesForExtendedLayout = UIRectEdgeNone;

}

}

即可.

6.在ARC项目中,当pop出某个控制器时,不走dealloc方法,也就是内存泄漏,之所以会这样,是因为在某个地方强引用了此控制器,当pop出此控制器时其引用计数不为0因此没有走dealloc;通常情况下强引用最容易出现在bloc中,或者是delegate声明时用了strong,再或者是定时器没有销毁;因此开始在此控制器中寻找bloc中是否强引用了self,发现没有,再看看定时器在viewWillDisapear时已经销毁,所以最后一种可能就是某个地方的delegate用的strong,而又把此控制器设成了代理,果不奇然,真的是一个神一样存在的人声明代理是用的strong,改成assign或者weak后就正常了.

7.设置navigationItem的rightBarButtonItem或者是leftBarButtonItem之后发现按钮点击的响应范围比实际的(亦或者说比button的rect大好多)

原因:给导航栏设置buttonitem后会自动增大它的响应范围

解决方法:创建一个和button的等大的view,再根据创建buttonitem后就可以了,代码如下:

self.rightBt = [UIButton buttonWithType:UIButtonTypeCustom];

_rightBt.frame = CGRectMake(0, 0, 60, 30);

[_rightBt setTitle:@"换一批" forState:UIControlStateNormal];

_rightBt.titleLabel.font = [UIFont systemFontOfSize:14];

[_rightBt addTarget:self action:@selector(changeOther:) forControlEvents:UIControlEventTouchUpInside];

UIView *view = [[UIView alloc]initWithFrame:_rightBt.bounds];

[view addSubview:_rightBt];

UIBarButtonItem *rightItem = [[UIBarButtonItem alloc]initWithCustomView:view];

self.navigationItem.rightBarButtonItem = rightItem;

8.线上崩溃提示deleteRowsAtIndexPaths:数组越界,但是纵观整个页面没有进行任何的删除操作.由于是线上bug,不容易复原,因此着重查看了tableview的数据源处理和代理方法,最后发现此页面的刷新都采用的是局部刷新,由于业务逻辑,页面将要消失时把数据源都移除了,然而在页面将要出现时没有进行任何的数据请求或刷新UI,因此当从另外一个页面返回此页面进行点击事件后调用局部刷新就会出问题;

因为- (void)reloadRowsAtIndexPaths:(NSArray*)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;此方法的刷新机制是先删除对应的cell,然后再重新创建达到目的.

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

推荐阅读更多精彩内容