基于iOS系统中UITableView类型Plain模拟Group的方法

文档序号:8318950阅读:234来源:国知局
基于iOS系统中UITableView类型Plain模拟Group的方法【
技术领域
】[0001]本发明涉及一种基于1S系统中UITableView类型Plain模拟Group的方法。【
背景技术
】[0002]自从Apple公司推出1S7系统,系统风格扁平化.对于UITableView这个控件,开发者有时在处理多Sect1n时,要求滑动的风格能像WTableView的Plain风格一样,它的Sect1n能够不贴在视图的最上层,这样整个手机屏幕能够给用户更大的区域来显示内容,但是1S系统,无论是1S6,还是1S7都没有这样的效果。【
发明内容】[0003]本发明要解决的技术问题,在于提供一种基于1S系统中UITableView类型Plain模拟Group的方法,使得用户客观区域变大。[0004]本发明是这样实现的:一种基于1S系统中UITableView类型Plain模拟Group的方法,包括如下步骤:[0005]步骤1、创建UITableView的类型为Plain,并创建一个视图控制器;[0006]步骤2、在视图控制器上加载tableView,为该tableView创建至少一个区;[0007]步骤3、创建一视图,并将该视图加载至每个所述区中,并定义该视图的tableView和sect1n两个属性,重写setFrame方法;[0008]步骤4、在视图控制器中重写tableView:ViewForHeaderInSect1n:方法,即可完成模拟Group。[0009]进一步地,所述步骤3中重写setFrame方法为:[0010]-(void)setFrame:(CGRect)frame{CGRectsect1nRect=[self.tableViewrectForSect1n:self,sect1n];CGRectnewFrame=CGRectMake(CGRectGetMinX(frame),CGRectGetMinY(sect1nRect),CGRectGetffidth(frame),CGRectGetHeight(frame));[supersetFrame:newFrame]。[0011]进一步地,所述步骤4中重写tableView:ViewForHeaderInSect1n:方法为:[0012]Sect1nView*sect1nView=[[Sect1nViewalloc]init];[0013]sect1nView.tableView=self.tableView;sect1nView.sect1n=sect1n;[0014]returnsect1nView;[0015]o[0016]本发明具有如下优点:本发明一种基于1S系统中UITableView类型Plain模拟Group的方法通过该方法实现Sect1n的不浮动,使得UITableView的滑动效果更加美观,而且在开发App的过程中,使得用户在手机上的可视区域变大,能够使用户感到简单大方同时获取更多的视觉空间,使App的交互更加人性化。【附图说明】[0017]下面参照附图结合实施例对本发明作进一步的说明。[0018]图1为本发明方法执行流程图。【具体实施方式】[0019]如图1所示,基于1S系统中UITableView类型Plain模拟Group的方法,包括如下步骤:[0020]步骤1、创建UITableView的类型为Plain,并创建一个视图控制器;[0021]步骤2、在视图控制器上加载tableView,为该tableView创建至少一个区;[0022]步骤3、创建一视图,并将该视图加载至每个所述区中,并定义该视图的tableView和sect1n两个属性,重写setFrame方法:[0023]-(void)setFrame:(CGRect)frame{CGRectsect1nRect=[self.tableViewrectForSect1n:self,sect1n];CGRectnewFrame=CGRectMake(CGRectGetMinX(frame),CGRectGetMinY(sect1nRect),CGRectGetWidth(frame),CGRectGetHeight(frame));[supersetFrame:newFrame];};[0024]步骤4、在视图控制器中重写tableView:viewForHeaderlnSect1n:方法:[0025]Sect1nView^sect1nView=[[Sect1nViewalloc]init];[0026]sect1nView.tableView=self.tableView;sect1nView.sect1n=sect1n;[0027]returnsect1nView;[0028],即可完成模拟Group。[0029]本发明一具体实施例如下:[0030]对于UITableView这个控件来说,一般来说肯定是上下滑动的,首先创建UITableView的类型为Plain,然后发现HTableView的它的Sect1n实际上也是一个试图(UIView),而且UITableView也有自定义Sect1n的方法,即:tableView:ViewForHeaderInSect1n:。在这个方法中我们创建一个试图,把它加载到UITableView的Sect1n上。然后在TableView滑动的过程中,我们时刻检测Sect1n的出现在的区域在父试图的大小,CGRectGetMinY和CGRectGetMinX来获取Sect1n大小,然后改变Sect1n的大小,这样给我的视觉效果就是UITableView的Sect1n在上下滑动,具体如下:[0031]在Xcode软件中创建一个新工程(Project),创建一个视图控制器(UIViewContro11er),在这个视图控制器上加载一个tableView,为这个tableView创建多个区(Sect1n),每个区的行数(Row)不限。然后创建一个视图(UIView)Sect1nview,在Sect1nView中定义两个属性tableView和sect1n,在Sect1nView中重写setFrame:方法如下:[0032]-(void)setFrame:(CGRect)frame{CGRectsect1nRect=[self.tableViewrectForSect1n:self,sect1n];CGRectnewFrame=CGRectMake(CGRectGetMinX(frame),CGRectGetMinY(sect1nRect),CGRectGetWidth(frame),CGRectGetHeight(frame));[supersetFrame:newFrame];}[0033]然后在视图控制器里面重写tableView:viewForHeaderlnSect1n:方法,里面写代码如下:[0034]Sect1nView*sect1nView=[[Sect1nViewalloc]init];[0035]sect1nView.tableView=self.tableView;sect1nView.sect1n=sect1n;[0036]returnsect1nView;[0037]。[0038]1.CGRectGetMinX方法的作用得到目前scrollview在当前屏幕中相对于整个UlScrollView的最小值(位于屏幕的最左边)[0039]2.CGRectGetMaxX方法的作用得到目前scrollview在当前屏幕中相对于整个UlScrollView的最大值(位于屏幕的最右边)[0040]3.CGRectGetMinY方法的作用得到目前scrollview在当前屏幕中相对于整个UlScrollView的最小值(位于屏幕的最上边)[0041]4.CGRectGetMaxY方法的作用得到目前scrollview在当前屏幕中相对于整个UlScrollView的最大值(位于屏幕的最下边)[0042]虽然以上描述了本发明的【具体实施方式】,但是熟悉本
技术领域
的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。【主权项】1.一种基于1S系统中UITableView类型Plain模拟Group的方法,其特征在于:包括如下步骤:步骤1、创建WTableView的类型为Plain,并创建一个视图控制器;步骤2、在视图控制器上加载tableView,为该tableView创建至少一个区;步骤3、创建一视图,并将该视图加载至每个所述区中,并定义该视图的tableView和sect1n两个属性,重写setFrame方法;步骤4、在视图控制器中重写tableView:ViewForHeaderInSect1n:方法,即可完成模拟Groupο2.根据权利要求1所述的基于1S系统中UITableView类型Plain模拟Group的方法,其特征在于:所述步骤3中重写setFrame方法为:-(void)setFrame:(CGRect)frame{CGRectsect1nRect=[self.tableViewrectForSect1n:self,sect1n];CGRectnewFrame=CGRectMake(CGRectGetMinX(frame),CGRectGetMinY(sect1nRect),CGRectGetWidth(frame),CGRectGetHeight(frame));[supersetFrame:newFrame];}03.根据权利要求2所述的基于1S系统中UITableView类型Plain模拟Group的方法,其特征在于:所述步骤4中重写tableView:ViewForHeaderInSect1n:方法为:Sect1nView^sect1nView=[[Sect1nViewalloc]init];sect1nView.tableView=self.tableView;sect1nView.sect1n=sect1n;returnsect1nView;O【专利摘要】本发明提供一种基于iOS系统中UITableView类型Plain模拟Group的方法,创建UITableView的类型为Plain,并创建一个视图控制器;在视图控制器上加载tableView,为该tableView创建至少一个区;创建一视图,并将该视图加载至每个所述区中,并定义该视图的tableView和section两个属性,重写setFrame方法;在视图控制器中重写tableView:viewForHeaderInSection:方法,即可完成模拟Group,使得用户客观区域变大。【IPC分类】G06F9-44【公开号】CN104636136【申请号】CN201510012786【发明人】沈文策【申请人】沈文策【公开日】2015年5月20日【申请日】2015年1月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1