
字母索引(UITableViewIndex)是tableView里使用的一个控件,继承自UIControl,但不是一腔没个公开的类。
其主要作用是:当一个有较多分类的tableView的内容友猜比较多的时候,提供了一个快速索引的功能,可以通过点击和滑动两种方式快速索引,并在iOS10及以后,增加了一个震动的反馈效果。
系统只提供了上面几个方法,供我们使用,但是,在很多场景里面,这些方法对我们来说是不够用的。因此对我们来说就有两种方法处理特殊情况:1、重写索引视图,自定义UITableViewIndex;2、通过UITableViewIndex内部属性进行设置。
自定义UITableViewIndex,我们下节再说,我们先看第二种方法:通过UITableViewIndex内部属性进行设置。
1、UITableViewIndex的内部属性
UITableViewIndex的内部属性是有限的,如好圆型果我们只是简单的设置一下字体、颜色等,可以通过UITableViewIndex的内部属性进行设置,简单方便。
ps:比如修改索引文本的字体大小
1.新建Empty Application项目,新建ViewController,HomeViewController,在AppDelegate.m中导入该文件,并在方法- (BOOL)application:didFinishLaunchingWithOptions:中添加以下红色标记的代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor]
HomeViewController *homeViewController = [[HomeViewController alloc] init]
self.window.rootViewController = homeViewController
[homeViewController release]
[self.window makeKeyAndVisible]
return YES
}
2.在 HomeViewController.xib上袭隐添加Table View控件
将其Outlets的dataSource和delegate与File's Owner建立关联,
目的:(1) dataSource: 向HomeViewController添加UITableViewDataSource协议,从而可以在该类中使用相关的协议方法,在Table View中显示数据。
(2) delegate :向HomeViewController添加UITableViewDelegate协议,从而拍正厅可以在该类中使用相关的协议方法清芹,响应用户在Table View中的交互 *** 作。
必须使用 SCHEMABINDING 定义视图才能在视图上创建索引。视图定义滚者也必须具有确定性。如果选择列表中的所有表达式、大仿薯WHERE 和 GROUP BY 子句都具有确定性,则视图也具有确定性。而且,所有键列必须是精确的。只有视图的非键列可能包含浮点表达式(使用 float 数据类型的表达式),而且 float 表达式不能在视图定义的其它任何位置使用。若要在确定性视图中查找列大旦,请使用 COLUMNPROPERTY 函数(IsDeterministic 属性)。该函数的 IsPrecise 属性可用来确定键列是否精确。
必须先为视图创建唯一的聚集索引,才能为该视图创建非聚集索引。
指定 SCHEMABINDING 时,select_statement 必须包含所引用的表、视图或用户定义函数的两部分名称 (owner.object)。
不能除去参与用架构绑定子句创建的视图中的表或视图,除非该视图已被除去或更改,不再具有架构绑定。否则,SQL Server 会产生错误。另外,如果对参与具有架构绑定的视图的表执行 ALTER TABLE 语句,而这些语句又会影响该架构绑定视图的定义,则这些语句将会失败!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)