当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS11 SectionHeader 胡乱移动且滑动时出现重复内容的解决方法

iOS11 SectionHeader 胡乱移动且滑动时出现重复内容的解决方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

魔法卡片登陆,锦都一期,深圳人才市场地址

升级到ios 11后,痛苦的事情多起来了,以前版本没有的出现问题的代码,经过xcode 9一编译,千万草泥马奔腾而过;

今天碰到一个奇葩问题,直接进入主题:

问题描述:

-(cgfloat)tableview:(uitableview *)tableview heightforheaderinsection:(nsinteger)section
{
  return 12;
}
-(uiview *)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
{
  uiview* headersection_v = [[uiview alloc]initwithframe:cgrectmake(zerodis, zerodis, screen_width, 12)];
  [headersection_v setbackgroundcolor:color_3];
  return headersection_v;
}

1-   headerview 会错乱移动, 且调整tableview 的style也没有效果;

2- 滑动tableview的时候, 貌似底部又多出一个图层tableview,重复了tableviewcell的内容;

3-  以下代码无效:(当然tableview 懒加载的时候 还有相应代码设置cell分割线的偏移)

/**
 * 解决cell分割线距离两边12 居中对齐
 */
- (void)tableview:(uitableview *)tableview willdisplaycell:(uitableviewcell *)cell forrowatindexpath:(nsindexpath *)indexpath
{
  if ([cell respondstoselector:@selector(setseparatorinset:)]) {
    [cell setseparatorinset:uiedgeinsetsmake(zerodis, 12, zerodis, 12)];
  }
  if ([cell respondstoselector:@selector(setlayoutmargins:)]) {
    [cell setlayoutmargins:uiedgeinsetsmake(zerodis, 12, zerodis, 12)];
  }
}

最后排查发现:

旧代码使用了xib但是又没有用xib的tableview,  tableview又是自己代码生成的, 把xib删除之后,就ok了;

ps:下面通过实例代码给大家分享uitableview sectionheader 自定义section的头部。

具体代码如下所示:

//自定义section的头部
- (uiview *)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
{
  uiview *headerview = [[uiview alloc] initwithframe:cgrectmake(10, 0, 300, 30)];//创建一个视图
  uiimageview *headerimageview = [[uiimageview alloc] initwithframe:cgrectmake(10, 0, 300, 30)];
  uiimage *image = [uiimage imagenamed:@"4-2.png"];
  [headerimageview setimage:image];
  [headerview addsubview:headerimageview];
  [headerimageview release];
  nsstring *createtime = [self.keysarray objectatindex:section];
  createtime = [createtime stringbyreplacingcharactersinrange:nsmakerange(4, 1) withstring:@"-"];
  createtime = [createtime stringbyreplacingcharactersinrange:nsmakerange(7, 1) withstring:@"-"];
  uilabel *headerlabel = [[uilabel alloc] initwithframe:cgrectmake(130, 5, 150, 20)];
  headerlabel.backgroundcolor = [uicolor clearcolor];
  headerlabel.font = [uifont boldsystemfontofsize:15.0];
  headerlabel.textcolor = [uicolor bluecolor];
  headerlabel.text = createtime;
  [headerview addsubview:headerlabel];
  [headerlabel release];
  return headerview;
}

总结

以上所述是小编给大家介绍的ios11 sectionheader 胡乱移动且滑动时出现重复内容的解决方法,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

  • ios uicollectionview实现横向滚动

    现在使用卡片效果的app很多,之前公司让实现一种卡片效果,就写了一篇关于实现卡片的文章。文章最后附有demo实现上我选择了使用uicollectionview ... [阅读全文]
  • iOS UICollectionView实现横向滑动

    本文实例为大家分享了ios uicollectionview实现横向滑动的具体代码,供大家参考,具体内容如下uicollectionview的横向滚动,目前我使... [阅读全文]
  • iOS13适配深色模式(Dark Mode)的实现

    iOS13适配深色模式(Dark Mode)的实现

    好像大概也许是一年前, mac os系统发布了深色模式外观, 看着挺刺激, 时至今日用着也还挺爽的终于, 随着iphone11等新手机的发售, ios 13系统... [阅读全文]
  • ios 使用xcode11 新建项目工程的步骤详解

    ios 使用xcode11 新建项目工程的步骤详解

    xcode11新建项目工程,新增了scenedelegate这个类,转而将原appdelegate负责的对ui生命周期的处理担子接了过来。故此可以理解为:ios... [阅读全文]
  • iOS实现转盘效果

    本文实例为大家分享了ios实现转盘效果的具体代码,供大家参考,具体内容如下demo下载地址: ios转盘效果功能:实现了常用的ios转盘效果,轮盘抽奖效果的实现... [阅读全文]
  • iOS开发实现转盘功能

    本文实例为大家分享了ios实现转盘功能的具体代码,供大家参考,具体内容如下今天给同学们讲解一下一个转盘选号的功能,直接上代码直接看viewcontroller#... [阅读全文]
  • iOS实现轮盘动态效果

    本文实例为大家分享了ios实现轮盘动态效果的具体代码,供大家参考,具体内容如下一个常用的绘图,主要用来打分之类的动画,效果如下。主要是ios的绘图和动画,本来想... [阅读全文]
  • iOS实现九宫格连线手势解锁

    本文实例为大家分享了ios实现九宫格连线手势解锁的具体代码,供大家参考,具体内容如下demo下载地址:效果图:核心代码://// clockview.m// 手... [阅读全文]
  • iOS实现卡片堆叠效果

    本文实例为大家分享了ios实现卡片堆叠效果的具体代码,供大家参考,具体内容如下如图,这就是最终效果。去年安卓5.0发布的时候,当我看到安卓全新的material... [阅读全文]
  • iOS利用余弦函数实现卡片浏览工具

    iOS利用余弦函数实现卡片浏览工具

    本文实例为大家分享了ios利用余弦函数实现卡片浏览工具的具体代码,供大家参考,具体内容如下一、实现效果通过拖拽屏幕实现卡片移动,左右两侧的卡片随着拖动变小,中间... [阅读全文]
验证码:
移动技术网