scrollView.contentSize = imageView.frame.size 或者等于imageView.image.size
当scrollView没有设置contentSize, 但又需要下拉刷新, 需要将alwaysBounceVertical 设为YES
设置UIEdgeInset其实就是增加滚动范围, 音乐播放器歌词初始一般是从中间开始显示, 设置的是contentOffset的y值为负数, 为什么是负的, 就是scrollView的原点位置y值, 减去要显示的位置的y值, 小-大, 所以是负数.
但是当用户碰一下歌词, 歌词就会立马回弹到顶部, 为了避免这种情况, 应该设置UIEdgeInsetMake的第一个参数, 也就是距上为刚才负数的绝对值, 这样就能慢慢随着用户向上滑动, 歌词慢慢往上滚动
关于分页效果, 是以scrollView的尺寸作为每一页的区分的
关于自动轮播的时候定时器暂停工作
加上这句
[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
不加之前添加定时器的时候
self.timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(handleUpdate:) userInfo:nil repeats:YES];
默认处于NSRunLoopCommonModes模式, 而修改后的NSRunLoopCommonModes是一个共用模式, 让主线程分配一点资源给定时器, 而不是同一时间只能做一件事, 不是tableview滚动, 就是定时器滚动, 这样显示效果并不好
顺便提一句, UITableViewController自带的view就等同于自带的tableView属性, 通过打印%s, 查看两者的指针可得出结论
如果不使用重用池, 那么离开屏幕的cell就会被销毁, 自动调用dealloc
建议在viewDidLoad上面, 也就是vc找块空地, 声明cell标识符, 如:
static NSString *ID = @"balabala";
方便后续注册cell以及根据标识符取出cell能用到
网友评论