通知机制是多对多的,代理是一对一的
在监听者中的回调函数里,默认已经是把整个通知传递给了回调函数,只要函数默默加上冒号就可以收到NSNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
name:表示名字 object:哪个对象的name
UIDevice类提供了一个单例对象
UIDeviceOrientationDidChangeNotification旋转设备之类的
对象销毁时dealloc里面一定要有有removeObserver,要与addObserver匹配
CGRectValue
transform是相对于最开始来说的