1.在UINavigationController中修改back为“返回”的方法
self
.
navigationItem
.
backBarButtonItem
= [[
UIBarButtonItem
alloc
]
initWithTitle
:
@"
返回
"
style
:
UIBarButtonItemStylePlain
target
:
nil
action
:
nil
];
不能直接修改backBarButtonItem中的title属性,必须新建一个
UIBarButtonItem
2.让图片以原始方式渲染
image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal这个方法
(或者使用storyBoard开发时,在
右侧的rander As属性栏调整)
3.取消导航栏的分割线与设置导航栏文字颜色
假如设置了空背景图片,必须禁用穿透效果
self.navigationBar.translucent = NO;
否则barTintColor会失效。
4.如何从storyboard中加载控制器
1.加载箭头指向的控制器
2.加载特定的标识符的控制器
5.关于通知
1.发送通知的方法
三种发送方法(参数不同,功能相同)
2.接收的时候
3.
要接收消息 必须先监听消息(注意顺序)
所以先写接收的代码,再写发送代码
4.所有以上之前要先创建一个消息中心(Notification) 单例模式,什么时候用什么时候调用创建方法即可
[NSNotificationCenter DefaultCenter]
5.接收者释放的时候,要把通知监听移除
(Notification的removeObserver方法)
(重新创建NSNotificationCenter 然后调用removeObserver self)把自己的接收删除掉
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.然后用通知的方法来修改聊天的整个View的transform来实现移动
6.更改CollectionView的指定行大小
1.尝试重写layoutAttributesForElementsInRect
(在layout中)
对默写单元格大小进行单独的设置
结果:单元格各种被覆盖
此方法可以用来计算瀑布流(既要改大小又要改frame)
2.更换方法(只改大小不改frame)
在controller中遵守布局代理协议
UICollectionViewFlowLayoutDelegate
可以用此方法设置每个单元格的大小,然后布局间隔会按照以前的设置自动排布
(建议以前统一设置的大小的代码保留)
上述两种方法都很常用
7.关于添加视图到别的视图时,Controller被释放问题
将controller加入到上层controller中
[self addChildViewController:lifeCtrl];
8.Timer的用法
9.TableView的顶部下拉刷新方法
10.TableView的原型Cell使用
使用之前必须必须先加载StoryBoard
具体代码为:
UIStoryboard
*loginStoryboard = [
UIStoryboard
storyboardWithName
:
@"SHLoginViewController"
bundle
:
nil
];
SHLoginViewController *loginController = [loginStoryboard instantiateInitialViewController];
不然会报cell注册错误
11.设置徽章的方法
先创建个application对象app1 然后用下面的方法
12.声明代理对象必须用weak
13.TableView使用storyBoard进行布局后如何自适应行高
首先在StoryBoard中进行约束,使控件的约束将contentView的上下边界撑开,然后在tableView的代理中使用下面两个代理方法
//
预测
cell
的高度
- (
CGFloat
)tableView:(
UITableView
*)tableView estimatedHeightForRowAtIndexPath:(
NSIndexPath
*)indexPath
{
return
300
;
}
//
自动布局后
cell
的高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return
UITableViewAutomaticDimension
;
}
14.如何取消tableView的选中效果
在tableView代理中重写如下代理方法
// 设置取消选中效果
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}