Masonry 动画更新约束

在 iOS 代码手写控件一族中,在使用frame来动画更新控件frame是再熟悉不过的了: [UIView animateWithDuration:0.5 animations:^{ view.frame = CGRectMake(); }]; 但在引入Masonry后,使用如下代码来更新控件约束后,但无法看到控件位置更新的动画: [UIView animateWithDuration:0.5 animations:^{ [view mas_updateConstraints:^(MASConstraintMaker *make) { make. ...

UIScrollView 停止滚动监测

今天需要做一个控件的动画,在scrollView滚动的时候隐藏底部一个控件,在scrollView停止滚动的时候显示底部那个控件。 该需求的“滚动隐藏”容易满足,只需要我们实现scrollView的代理: - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 但“停止滚动显示”这个需求,在我尝试了所有的scrollView代理后,仍然无法满足需求。苦思之下,想到了scrollView的监听滚动代理: - (void)scrollViewDidScroll:(UIScrollView *)scrollView 如果我们在该代理里添加一个延时定时器,在每次scrollView回调上面代理的时候, ...

Git 使用总结

1. Git简介 Git的诞生确实是一个有趣的故事,我们知道,当年Linus创建了开源的Linux,从此,Linux系统不断发展,现在已经成为最大的服务器系统软件了(请不要傻傻分不清Linus和Linux)。 但是随着Linux的不断壮大,就需要各种版本控制了,起初Linus带着他的小弟们使用的是BitKeeper(商业版本控制系统),之后呢由于某种原因BitKeeper的公司不让他们使用了,于是Linus自己花了两周时间写出了Git并且开源了(BitKeeper已哭晕在厕所),阿弥陀佛,幸亏BitKeeper不让Linus他们用了,要不然我们现在也不会有这么好用的Git了,博主更不会在这写这篇博文了。 之后的岁月里,渐渐有了github,coding等一些可以使用git存储的网站,Git的江湖地位变得无可替代了,如果你是个开发者却还不会使用Git那就太out了。 这里先引用一张图解释Git ...

iOS7 判断应用的麦克风权限是否打开

判断是否允许使用麦克风7.0新增的方法requestRecordPermission 第一次调用这个方法的时候,系统会提示用户让他同意你的app获取麦克风的数据 其他时候调用方法的时候,则不会提醒用户 而会传递之前的值来要求用户同意 [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) { if (granted) { // 用户同意获取数据 NSLog(@"麦克风打开了"); } else { // 可以显示一个提示框告诉用户这个app没有得到允许? NSLog(@"麦克风关闭了"); } }]; ...

initWithFrame 和 initWithCoder

当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self =[super initWithFrame:frame]) { // 初始化代码 } return self; } 用于视图加载nib文件,从nib中加载对象实例时,使用 initWithCoder初始化这些实例对象 - (id)initWithCoder:(NSCoder* ...