IOS UITableView和NavigationBar的常用设置详解

IOS UITableView和NavigationBar的常用设置详解

TableView:

1.tableview常用基本设置

// 清除父类UIEdgeInsets
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0);
//禁止滚动
self.tableView.scrollEnabled = NO;
// tableview头部视图设置
self.tableView.tableHeaderView =一个UIView;
//tableview尾部视图设置,这样用一个不占空间的UIView初始化可以清除尾部多余空格
self.tableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
//表格背景色
self.tableView.backgroundColor = [UIColorgrayColor];
//取消垂直滚动条
self.tableView.showsVerticalScrollIndicator=NO;
//设置表格背景图片
UIView *bgView= [[UIView alloc]initWithFrame:CGRectMake(0,20,SLApplicationW,SLApplicationH)];
UIImageView *bgImageView= [[UIImageView alloc]initWithFrame:CGRectMake(0,0,SLApplicationW,SLApplicationH)];
  [bgImageView setImage:[UIImageimageNamed:@"tree"]];
  [bgView addSubview:bgImageView];
self.tableView.backgroundView= bgView;

2.cell常用基本设置

//表格附件样式,指示箭头 

  cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
//禁止点击变色 

  cell.selectionStyle=UITableViewCellSelectionStyleNone;

3.cell分割线左侧空白清除

//分割线清偏移
  if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
    [cellsetSeparatorInset:UIEdgeInsetsZero];
  } 
//分割线清边界(没啥变化)
  if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
    [cellsetLayoutMargins:UIEdgeInsetsZero];
  }
//清除父边界
  if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){
    [cellsetPreservesSuperviewLayoutMargins:NO]; 

  }

NavigationBar导航栏:

1.常用基本设置

self.title =@"标题";
// 导航栏颜色
self.navigationBar.barTintColor=[UIColor grayColor];
// 导航栏文字颜色
self.navigationBar.tintColor=[UIColor whiteColor];
// 导航栏标题颜色
NSMutableDictionary*textAttrs= [NSMutableDictionary dictionary];
 textAttrs[NSForegroundColorAttributeName] =[UIColor whiteColor];
self.navigationBarsetTitleTextAttributes:textAttrs]; 

//导航栏按钮1
UIBarButtonItem*button1= [[UIBarButtonItem alloc]
             initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector(function1)];
//导航栏按钮2
UIBarButtonItem*button2= [[UIBarButtonItem alloc]
              initWithBarButtonSystemItem:UIBarButtonSystemItemSearchtarget:selfaction:@selector(function2)];
//将按钮添加到导航栏右侧(可以添加多个) 

self.navigationItem.rightBarButtonItems=@[button1, button2]; 

2.系统自带按钮

枚举定义及样式解释如下:

typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) {
  UIBarButtonSystemItemDone,   //Done英文字符
  UIBarButtonSystemItemCancel,  //Cancel
  UIBarButtonSystemItemEdit,   //Edit
  UIBarButtonSystemItemSave,   //Save
  UIBarButtonSystemItemAdd,    //图标1(加号图标➕)
  UIBarButtonSystemItemFlexibleSpace, //?空白
  UIBarButtonSystemItemFixedSpace,   //?空白
  UIBarButtonSystemItemCompose,    //图标2(写字板上一支笔写字的图标)
  UIBarButtonSystemItemReply,     //图标3
  UIBarButtonSystemItemAction,     //图标4
  UIBarButtonSystemItemOrganize,    //图标5
  UIBarButtonSystemItemBookmarks,   //<span style="font-family: Menlo;">图标6</span>
  UIBarButtonSystemItemSearch,     //<span style="font-family: Menlo;">图标7</span>
  UIBarButtonSystemItemRefresh,    //<span style="font-family: Menlo;">图标8</span>
  UIBarButtonSystemItemStop,      //图标9
  UIBarButtonSystemItemCamera,     //图标10
  UIBarButtonSystemItemTrash,     //图标11
  UIBarButtonSystemItemPlay,      //图标12
  UIBarButtonSystemItemPause,     //图标13
  UIBarButtonSystemItemRewind,     //图标14
  UIBarButtonSystemItemFastForward,  //图标15
  UIBarButtonSystemItemUndo NS_ENUM_AVAILABLE_IOS(3_0),    //Redo
  UIBarButtonSystemItemRedo NS_ENUM_AVAILABLE_IOS(3_0),    //Undo
  UIBarButtonSystemItemPageCurl NS_ENUM_AVAILABLE_IOS(4_0),  //?空白
};

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • iOS中UITableView使用的常见问题总结

    1.如何设置headerView以及其高度 tableView.tableHeaderView = myHeaderView let height = headerView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height var frame = headerView.frame frame.size.height = height headerView.frame = frame 2.去掉多余cell的分割线 s

  • iOS中UIScrollView嵌套UITableView的实践教程

    前言 最近因为工作项目中需要用到UIScrollView嵌套UItableView嵌套交互问题,顺便网上搜了下的demo,发现实现的效果并不是很理想,滑动偶尔会有延迟现象,所以自己想了个办法,顺便把自己实现写了个demo分享出来,一起来看看吧. 实现过程 最底部放置的为一个UIScrollView,设置ScrollView的contentSize属性,使可以发生横向滚动,同时隐藏横向滚动条,设置代理为当前控制器本身.然后,在最底部的UIScrollView上放置2个UITableView,因为只

  • iOS中的UITableView的重用机制与加载优化详解

    UITableView可以说是UIKit中最重要的一个组件,用来展示数据列表,还可以灵活使用进行页面的布局.UITableView的使用遵循MVC模式,数据模型(NSObject).视图(UIView)和控制器(UITableViewController)分离.UITableView继承自UIScrollView,可上下滑动,可以作为跟视图也可以作为子视图组件. reuseIdentifier顾名思义是一个复用标识符,是一个自定义的独一无二的字符串,用来唯一地标记某种重复样式的可复用UITabl

  • IOS中UITableView滚动到指定位置

    方法很简单: - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 有些需要注意的地方: 如果在reloadData后需要立即获取tableview的cell.高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的. reloadDa

  • iOS基于UITableView实现多层展开与收起

    本文实例为大家分享了bleView多层展开与收起的具体代码,供大家参考,具体内容如下 规则要求: tableview 有多层,类似于xcode文件目录的层级关系,每一个最开始展示的层姑且称之为根目录吧,并且,每个根目录下的层数不定. 与文件目录类似,每个目录下可以有不同层级的目录同时展开,但是同一层次中只有一层是展开的,即要展开B层次的某一层,则需要收起B层次所有其他的层级. 最底层是一个个文件,不能再展开(这里在业务逻辑上用处是:跳转到不同的页面). 想法: 整个界面是一个tableview,

  • iOS中UITableView Cell实现自定义单选功能

    今天分享下cell的单选,自定义的,不是下图这种网上找到的打对勾的,我搜了好久,基本上都是打对勾的文章,就决定自己写一篇.基本上自己的app都会有一个风格吧,咱也不能一直用打对勾的方式去做(看起来是不是很low). 我们要实现的是下面的这种形式.瞬间好看了很多,高大上了很多是吧. 具体我来给大家介绍一下.我这种方法有可能不是很好,有大神来,欢迎多多交流. 首先在你自定义的cell里面加入一个UIImageView,因为你肯定要有选择和未选择两张图片的吧,所以这个UIImageView来切换图片.

  • ios UITableView实现无数据加载占位图片

    本文介绍了ios UITableView实现无数据占位图片,分享给大家,具体如下: 国际惯例,上效果图 该效果的实现主要是使用runtime的交叉方法实现,将tableView的reloadData与自定义的kk_reloadData交换.新建tableView的Category. 交换方法主要代码 + (void)swizzleInstanceSelector:(SEL)originalSel WithSwizzledSelector:(SEL)swizzledSel { Method ori

  • IOS UITableViewCell详解及按钮点击事件处理实例

    IOS UITableViewCell详解及按钮点击事件处理 今天突然做项目的时候,又遇到处理自定义的UITableViewCell上按钮的点击事件问题.我知道有两种方式,可是突然想不起来之前是怎么做的了,好记性不如烂笔头,还是记录一下吧. 1.第一种方式给Button加上tag值 这里分为两种:一种是直接在原生的UITableViewCell上添加UIButton按钮,然后给UIButton设置tag值,然后在控制器里的方法里通过取数据,做界面跳转等.还是举个例子吧,省的回忆半天. - (UI

  • IOS UITableView颜色设置的实例详解

    IOS UITableView颜色设置的实例详解 1.系统默认的颜色设置  //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectionStyleGray; 2.自定义颜色和背景设置 改变UITableView

  • IOS UITableView和NavigationBar的常用设置详解

    IOS UITableView和NavigationBar的常用设置详解 TableView: 1.tableview常用基本设置 // 清除父类UIEdgeInsets self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0); //禁止滚动 self.tableView.scrollEnabled = NO; // tableview头部视图设置 self.tableView.tableHeaderView =一个UIView; //

  • IOS 数据库升级数据迁移的实例详解

    IOS 数据库升级数据迁移的实例详解 概要: 很久以前就遇到过数据库版本升级的引用场景,当时的做法是简单的删除旧的数据库文件,重建数据库和表结构,这种暴力升级的方式会导致旧的数据的丢失,现在看来这并不不是一个优雅的解决方案,现在一个新的项目中又使用到了数据库,我不得不重新考虑这个问题,我希望用一种比较优雅的方式去解决这个问题,以后我们还会遇到类似的场景,我们都想做的更好不是吗? 理想的情况是:数据库升级,表结构.主键和约束有变化,新的表结构建立之后会自动的从旧的表检索数据,相同的字段进行映射迁移

  • ios开发UITableViewCell图片加载优化详解

    目录 前言 图片自适应比例 XHWebImageAutoSize 仅加载当前屏幕的内容 预加载 前言 我们平时用UITableView用的很多,所以对列表的优化也是很关注的.很多时候,我们设置UIImageView,都是比例固定好宽高的,然后通过 scaleAspectFill 和 clipsToBounds 保持图片不变形,这样子做开发的效率是很高的,毕竟图片宽高我们都是固定好的了. 那如果产品要求图片按真正的比例展示出来呢?如果服务器有返回宽和高,那就好办了,那如果没有呢,我们应该怎么去做呢

  • IOS 中CALayer绘制图片的实例详解

    IOS 中CALayer绘制图片的实例详解 CALayer渲染内容图层.与UIImageView相比,不具有事件响应功能,且UIImageView是管理内容. 注意事项:如何使用delegate对象执行代理方法进行绘制,切记需要将delegate设置为nil,否则会导致异常crash. CALayer绘制图片与线条效果图: 代码示例: CGPoint position = CGPointMake(160.0, 200.0); CGRect bounds = CGRectMake(0.0, 0.0

  • js正则表达式常用函数详解(续)

    正则表达式对象的方法 1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式.如果存在则返回 true,否则就返回 false. 2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. 3.compile,把正则表达式编译为内部格式,从而执行得更快. 正则表达式对象的属性 1.source,返回正则表达式模式的文本的复本.只读. 2.lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置. 3.input ($_),返回

  • hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

  • 使用Swift代码实现iOS手势解锁、指纹解锁实例详解

    一.手势密码 1. 1.1.用UIButton组成手势的节点. 1.2.当手指接触屏幕时,调用重写的 touchesBegan:withEvent方法(在touchesBegan里调用setNeedsDisplay,这样就会自动调用drawRect方法). 1.3.当手指在屏幕上滑动时,调用重写的touchesEnded:withEvent方法. 这两个方法执行的操作是一样的:通过locationInView获取 触摸的坐标,然后用 CGRectContainsPoint 判断手指是否经过UIB

  • IOS 开发中画扇形图实例详解

    IOS 开发中画扇形图实例详解 昨天在做项目中,遇到一个需要显示扇形图的功能,网上搜了一下,发现code4app里面也没有找到我想要的那种类似的效果,没办法了,只能自己学习一下如何画了. 首先我们需要了解一个uiview的方法 -(void)drawRect:(CGRect)rect 我们知道了这个方法,就可以在自定义UIView的子类的- (void)drawRect:(CGRect)rect里面绘图了,关于drawrect的调用周期,网上也是一找一大堆,等下我会整理一下,转载一篇供你们参考.

  • IOS swift中的动画的实例详解

    IOS swift中的动画的实例详解 UIView的通用动画 let view = UIView(frame: CGRectMake(10.0, 10.0, 100.0, 40.0)) self.view.addSubview(view) view.backgroundColor = UIColor.lightGrayColor() // 位置改变 var frame = view.frame UIView.animateWithDuration(0.6, delay: 2.0, options

  • Linux终端命令行的常用快捷键详解

    history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条命令 !?string? 执行含有string字符串的最新命令 Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令 Ctrl+s 与Ctrl+r类似,只是正向检索 Alt+< 历史列表第一项 Alt+> 历史列表最后一项 Ctrl+f 光标向前移动一个字符,相当与-> Ct

随机推荐