法律状态公告日
法律状态信息
法律状态
2018-09-28
专利权的转移 IPC(主分类):G06F8/38 登记生效日:20180911 变更前: 变更后: 申请日:20150112
专利申请权、专利权的转移
2018-06-08
授权
授权
2015-06-17
实质审查的生效 IPC(主分类):G06F9/44 申请日:20150112
实质审查的生效
2015-05-20
公开
公开
技术领域
本发明涉及一种基于iOS系统中UITableView类型Plain模拟Group的 方法。
背景技术
自从Apple公司推出iOS7系统,系统风格扁平化.对于UITableView这 个控件,开发者有时在处理多Section时,要求滑动的风格能像UITableView 的Plain风格一样,它的Section能够不贴在视图的最上层,这样整个手机屏 幕能够给用户更大的区域来显示内容,但是iOS系统,无论是iOS6,还是 iOS7都没有这样的效果。
发明内容
本发明要解决的技术问题,在于提供一种基于iOS系统中UITableView 类型Plain模拟Group的方法,使得用户客观区域变大。
本发明是这样实现的:一种基于iOS系统中UITableView类型Plain模 拟Group的方法,包括如下步骤:
步骤1、创建UITableView的类型为Plain,并创建一个视图控制器;
步骤2、在视图控制器上加载tableView,为该tableView创建至少一个 区;
步骤3、创建一视图,并将该视图加载至每个所述区中,并定义该视图 的tableView和section两个属性,重写setFrame方法;
步骤4、在视图控制器中重写tableView:viewForHeaderInSection:方法, 即可完成模拟Group。
进一步地,所述步骤3中重写setFrame方法为:
-(void)setFrame:(CGRect)frame{CGRect sectionRect=[self.tableView rectForSection:self.section];CGRectnewFrame=CGRectMake(CGRectGetMinX( frame),CGRectGetMinY(sectionRect),CGRectGetWidth(frame),CGRectGetHeig ht(frame));[super setFrame:newFrame];}。
进一步地,所述步骤4中重写tableView:viewForHeaderInSection:方法 为:
SectionView*sectionView=[[SectionViewalloc]init];
sectionView.tableView=self.tableView;sectionView.section=section;
return sectionView;
。
本发明具有如下优点:本发明一种基于iOS系统中UITableView类型Plain 模拟Group的方法通过该方法实现Section的不浮动,使得UITableView的滑动 效果更加美观,而且在开发App的过程中,使得用户在手机上的可视区域变 大,能够使用户感到简单大方同时获取更多的视觉空间,使App的交互更加 人性化。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
如图1所示,基于iOS系统中UITableView类型Plain模拟Group的方 法,包括如下步骤:
步骤1、创建UITableView的类型为Plain,并创建一个视图控制器;
步骤2、在视图控制器上加载tableView,为该tableView创建至少一个 区;
步骤3、创建一视图,并将该视图加载至每个所述区中,并定义该视图 的tableView和section两个属性,重写setFrame方法:
-(void)setFrame:(CGRect)frame{CGRect sectionRect=[self.tableView rectForSection:self.section];CGRectnewFrame=CGRectMake(CGRectGetMinX( frame),CGRectGetMinY(sectionRect),CGRectGetWidth(frame),CGRectGetHeig ht(frame));[super setFrame:newFrame];};
步骤4、在视图控制器中重写tableView:viewForHeaderInSection:方法:
SectionView*sectionView=[[SectionViewalloc]init];
sectionView.tableView=self.tableView;sectionView.section=section;
return sectionView;
,即可完成模拟Group。
本发明一具体实施例如下:
对于UITableView这个控件来说,一般来说肯定是上下滑动的,首先创 建UITableView的类型为Plain,然后发现UITableView的它的Section实际 上也是一个试图(UIView),而且UITableView也有自定义Section的方法, 即:tableView:viewForHeaderInSection:。在这个方法中我们创建一个试图, 把它加载到UITableView的Section上。然后在TableView滑动的过程中, 我们时刻检测Section的出现在的区域在父试图的大小,CGRectGetMinY 和CGRectGetMinX来获取Section大小,然后改变Section的大小,这样给 我的视觉效果就是UITableView的Section在上下滑动,具体如下:
在Xcode软件中创建一个新工程(Project),创建一个视图控制器 (UIViewController),在这个视图控制器上加载一个tableView,为这个 tableView创建多个区(Section),每个区的行数(Row)不限。然后创建一个视 图(UIView)Sectionview,在SectionView中定义两个属性tableView和section, 在SectionView中重写setFrame:方法如下:
-(void)setFrame:(CGRect)frame{CGRect sectionRect=[self.tableView rectForSection:self.section];CGRectnewFrame=CGRectMake(CGRectGetMinX( frame),CGRectGetMinY(sectionRect),CGRectGetWidth(frame),CGRectGetHeig ht(frame));[super setFrame:newFrame];}
然后在视图控制器里面重写tableView:viewForHeaderInSection:方法, 里面写代码如下:
SectionView*sectionView=[[SectionViewalloc]init];
sectionView.tableView=self.tableView;sectionView.section=section;
return sectionView;
。
1.CGRectGetMinX方法的作用得到目前scrollview在当前屏幕中相对于 整个UIScrollView的最小值(位于屏幕的最左边)
2.CGRectGetMaxX方法的作用得到目前scrollview在当前屏幕中相对于 整个UIScrollView的最大值(位于屏幕的最右边)
3.CGRectGetMinY方法的作用得到目前scrollview在当前屏幕中相对于 整个UIScrollView的最小值(位于屏幕的最上边)
4.CGRectGetMaxY方法的作用得到目前scrollview在当前屏幕中相对于 整个UIScrollView的最大值(位于屏幕的最下边)
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人 员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发 明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的 修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
机译: (54)标题:用于加速模拟到数字转换的方法和系统(57)摘要:公开了用于加速与模拟到数字信号转换相关的处理的技术。在各种实施例中,为与模数转换器一起使用的采样保持和跟踪保持电路提供了加速处理。在各种实施例中采用缩写的采样状态,缩写的复位状态或两者。通过加速处理以避免需要等待信号稳定在预定公差内,可能会引起不同类型的错误。此类误差是在校准期间确定的,并存储以供将来检索和误差补偿。公开了用于在线和离线校准的技术,由此校准可以或可以不影响正常的信号转换处理。本文公开的技术在模数转换中具有广泛的适用性,并且可以在各种情况下实现更快的处理。
机译: 收费系统模拟方法,例如货车,涉及确定路网路线中预设车辆类型的使用费,并基于实际测量数据为路网子网实施交通和/或事件模拟
机译: 用于基于粒子的模拟的切片数据结构以及将基于切片的数据结构加载到GPU中的基于粒子的模拟的方法