iOS记录0822

来源:互联网 发布:windows视频放大缩小 编辑:程序博客网 时间:2024/06/03 13:46


1. 在xib或者storyBoard中,拖出来的UILabel等带有text的组件,当text文本过长想换行显示时,\n 是没有效果的,通过代码是有效的,要想在xib和storyBoard中显示换行,可以通过组合键option + 回车。


2. 今天在项目中用到通知中心NSNotification,    

//在目标控制器里监听应用登录状态[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadWebUrl) name:@"loginSuccessNotification" object:nil];

// 弹出的登录页登录成功后发送通知[[NSNotificationCenter defaultCenter] postNotificationName:@"loginSuccessNotification" object:nil];

但在目标控制器里接受通知,无论怎么也不执行通知的方法,感到很诧异。最终找到原因是目标控制器的父类里

- (void)viewDidDisappear:(BOOL)animated {    [super viewDidDisappear:animated];    [[NSNotificationCenter defaultCenter] removeObserver:self name:k_LoginOut_Notification object:nil];    [[NSNotificationCenter defaultCenter] removeObserver:self name:k_LoginSuccess_Notification object:nil];    [[NSNotificationCenter defaultCenter] removeObserver:self];}

因为是团队开发,对这种写法虽颇感不解,但为不影响其他模块,我并没有修改该父类,而是在目标控制器的viewDidDisappear: 方法里添加了监听通知

- (void)viewDidDisappear:(BOOL)animated{    [super viewDidDisappear:animated];        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadWebUrl) name:@"loginSuccessNotification" object:nil];}

这样通知的方法就可以执行了。

3.当对UICollectionView 做reloadData刷新时,会出现闪一下效果不是太好,可以去掉该动画,通过如下代码

[self.collectionView performBatchUpdates:^{    [self.collectionView reloadSections:[NSIndexSet indexSetWithIndex:0]];} completion:nil];


4.关于tableViewCell单元格的获取内容并自适应高度的问题

获取数据可能是文本还有可能是未知高度的图片,那就要自适应高度。

iOS8之后 通过UITableViewAutomaticDimension 常量支持自适应高度的单元格

在viewDidLoad中设置tableView: 

tableView.rowHeight = UITableViewAutomaticDimension self.tableView.estimatedRowHeight = 100;

第一句的作用如前面所述,是开启iOS 8的单元格的自适应高度特性。第二句代码也是同样的功能,estimatedRowHeight让你提供一个预先估计cell的高度值,这个值根本可以乱设(只要不为0),但如果你不写这句,或者将estimatedRowHeight属性设置为0,则iOS 8的单元格自动高度特性也不会生效。



0 0
原创粉丝点击