UITableView 标签

回头看之UITableView-(基本代理方法及复用原理)

UITableVIew是iOS开发中最常见的视图中最经典的视图了,没有之一,相信对这个视图敢称精通的人开发个好应用应该是问题不大的。 闲话少叙,进入正题。 怎么使用 掌握两个代理 UITableViewDelegate @optional //下文再提到该方法用heightForRow代替 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; UITableViewDataSource @required //下文再提到该方法用numberOfRowsInSection代替 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; //下文再提到该方法用cellForRow代替 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtInd....

阅读全文 »

回头看UITableView(二)-父视图UIScrollView

题目早早就定下了,现在想填充内容了,踌躇中却不知道从哪里开始了。 窗外突然下起雨来。虽然不愿承认,但夏天确实已经渐去渐远,凉意开始蔓延。索性放空身心,伴着雨声入眠吧。 I'm back! 众所周知,UITableView的父视图就是UIScrollView,UITableView之所以能滚动就是基于UIScrollView的特性,今天咱们就来深入理解一下UIScrollView。 上图: 打码: - (IBAction)boundsAction:(UIStepper *)sender { self.redView.bounds = CGRectMake(0, sender.value, self.redView.bounds.size.width, self.redView.bounds.size.height);     self.boundsLabel.text = [NSString stringWithFormat:@"红色视图bounds%@",NSStringFromCGRect(self.redView.bounds)]; } 我如果说改变bou....

阅读全文 »

回头看UITableView(三)-下拉刷新的实现

最近陷入了项目中一个日历月视图与周视图切换效果的实现,长时间没有实现想要的效果,沮丧至极。烦请有好想法的同学指点一二,在线等@留什么白。 结束例行的啰嗦,进入正题。 大家可能都用过MJRefresh,十分之方便,李明杰老师借助runtime的特性,极尽之能,让千千万万小白开发者和遵循不重复制造轮子原则的开发者用最少的代码就实现了界面下拉刷新的功能。我们今天不谈runtime的黑魔法,而是UITableView最常见的刷新数据方式下拉刷新的实现过程。 首先,我们定义三个枚举值 typedef NS_ENUM(NSUInteger, RefreshState) {     RefreshStateNormal,//正常     RefreshStatePulling,//释放即可刷新     RefreshStateLoading,//加载中 }; 分别表示正常状态、释放即可刷新状态、加载中状态 为了简单说明,我们只用一个UILabel来表现就可以,把它放在内容上方,也就是正常情况下看不到的地方,只有下拉的时候才能看到。 然....

阅读全文 »