美文网首页
iOS 7:UITableView、UIAlertControl

iOS 7:UITableView、UIAlertControl

作者: d2cd99b0efce | 来源:发表于2016-03-30 23:55 被阅读219次

表格数据更新

  • 增加
//objc
//注意模型增加的数量,要与cell增加的个数相匹配,否则会有bug

insertObjct: atIndex

[self.tableView insertRowsAtIndexPaths:@[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
  • 删除
    • deleteRowsAtIndexPaths
    • 左滑删除按键 commitEditingStyle,若要增加额外的按钮,需要用到手势
    • tableView.editing = YES;将表格设置为编辑模式,cell的左边会根据编辑样式的不同,显示加号(增加)或者减号(删除)。
  • 更改
    • reloadRowsAtIndexPaths
    • 注意:不要去尝试对cell视图对象进行增加更改操作,首先,当表格滑动的时候,会将已经改变的cell,放在缓存,将改变传至另外一个cell中;另外,当表格数据重新刷新的时候,仍旧取得是模型中的值。

MVC 思想核心

  • model 变 ----> view跟着变,当数据内容发生改变的时候,不需要更改view,就会将变化的数据内容更新显示

UIAlertView 与 UIAlertController

  • UIAlertView,使用addSubView 来将其添加至界面中
  • UIAlertController,使用presentViewController 弹出来另一个界面。
  • View与ViewController的不同之处:添加的方式不同。为什么会造成如此大的区别呢?在View类与ViewController类,写入其中的代码没有什么不同,主要是继承的父类有着特殊的基因,至于基因是什么样的,后续再说。。

批量操作

  • 直接修改cell 在上面已经说明
  • 更改模型,并将cell类中通过更改的模型来调整视图显示
  • 在viewController中在设置额外的数组,再reloadData使用额外的数组更新cell的显示
  • 苹果自带的批量操作:编辑模式设置可多选,并把用户选择的索引行记录在indexPathsForSelectedRows中。

tips

  • layoutIfNeeded,仍旧是估算控件应该有的布局,仍旧存在误差。对于UITextField,需要设置文字最大宽度,不是UILabel的最大宽度。
  • lineBreakMode 文字断开模式,用于单行或者多行显示模式中。

相关文章

网友评论

      本文标题:iOS 7:UITableView、UIAlertControl

      本文链接:https://www.haomeiwen.com/subject/gyjelttx.html