UITableView的怪事! 用图片

我有一个UIViewController,让我来查看和编辑一类的信息。

它仅分配一次,但它的行,段的数量和数据传递给它取决于用户选择的值。

例如。 在这里,它正在编辑的名称和类型属性(表头的看法是太大了..我这样做,所以你会看到的怪事下)

UITableView的怪事! 用图片

所以,我输入一个名称,这一切显示正常。 然后我点击地址属性和详细信息视图现在看起来是这样的:

UITableView的怪事! 用图片

一切就OK为止。 如果我点击取消并返回到编辑它显示正常的name属性。 问题是这样的。 我向下滚动地址表所示:

UITableView的怪事! 用图片

然后单击保存/取消。 现在,当我回到编辑名称属性时,tableview中看起来是这样的!

UITableView的怪事! 用图片

就好像上表中仍可以看到通过表格的标题视图..?

我viewWillAppear中:方法这个UIViewController的是这样的:

- (void)viewWillAppear:(BOOL)animated { NSLog(@"Retain count of poolcopy is %d\n\n", [self.thePoolFacilityCopy retainCount] ); //This will be a reference to find our which pool Instance field we are editing. self.sectionFromParentTable = self.cellPath.section; //This will only be used by the arrays self.rowFromPreviousTable = self.cellPath.row; NSString *sectionName; switch (self.sectionFromParentTable) { case KNameIndex: sectionName = @"name"; break; case KAddressIndex: sectionName = @"address"; break; case KPhoneNumberIndex: sectionName = @"phone"; break; case KWebAddressIndex: sectionName = @"url"; break; case KPricesIndex: sectionName = @"prices"; break; case KPoolIndex: sectionName = @"pools"; default: break; } self.title = [NSString stringWithFormat:@"Editing %@", sectionName]; // use an empty view to position the cells in the vertical center of the portion of the view not covered by // the keyboard if (self.sectionFromParentTable == KPhoneNumberIndex || self.sectionFromParentTable == KWebAddressIndex) { UIView *singleSectionHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 60)]; self.theTableView.tableHeaderView = singleSectionHeaderView; [singleSectionHeaderView release]; self.theTableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 10)]autorelease]; } else if (self.sectionFromParentTable == KAddressIndex) { UIView *addressHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 0)]; self.theTableView.tableHeaderView = addressHeaderView; [addressHeaderView release]; self.theTableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 250)]autorelease]; } else if (self.sectionFromParentTable == KPoolIndex) { UIView *poolHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 2)]; self.theTableView.tableHeaderView = poolHeaderView; [poolHeaderView release]; self.theTableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 10)]autorelease]; } else { UIView *doubleSectionHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 30)]; self.theTableView.tableHeaderView = doubleSectionHeaderView; [doubleSectionHeaderView release]; self.theTableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 10)]autorelease]; } [self.theTableView reloadData];

}

在该表看起来很乱的cellForRowAtIndexPath的方法只被称为两次,即使有3细胞可见(2正常细胞和一个奇怪的细胞)的图像。 怪异的小区移动与滚动,仍然是可以点击的。

我可以解决这个问题,通过注释掉此方法如下。 不过,我不希望有分配一个新的控制器,每次有人想编辑一个细节:

- (PoolFacilityDetailEditController *)childController { // Instantiate the editing view controller if necessary. // if (childController == nil) { PoolFacilityDetailEditController *controller = [[PoolFacilityDetailEditController alloc] initWithNibName:@"PoolFacilityDetailEditController" bundle:nil]; self.childController = controller; [controller release]; // } return childController; }

--------------解决方案-------------

很难说没有看所有的代码,但有可能是你不回收你的tableview细胞正常吗? 你必须指定一个不同的reuseIdentifier为所呈现的不同的每一个细胞。 如果一个头细胞得到重用一个细节细胞(或反之亦然),那将导致渲染​​一些古怪。

一定要使用另一个类通过的TableViewCell,完全定制按您的要求。 那么就导入到你的代码。 有用!!

分类:iphone 时间:2012-01-01 人气:0
分享到:

相关文章

  • UITableView的 - 分组表。 iPhone SDK(可可触摸),目标C 2013-06-05

    我发现这真的不错教程:UITableView的 - 向下钻取表视图教程,源代码:下载. 这正是我一直在寻找,但我想补充一点升级. 我的目标是添加分组的表视图在0至2级切片(CurrentLevel == 0). 于是我开始: 1)变更表视图样式(在RootViewController.xib)从平原到分组. (正常工作). 2)RootViewController.m的变化: - (NSInteger)numberOfSectionsInTableView:(UITableView *)tabl

  • 有没有在iPhone SDK 4可可触摸工具栏的图形错误? 2014-05-25

    添加工具栏在界面生成器视图,然后按钮添加到工具栏. 在他们被挖掘时,工具栏的光芒/高光图像按钮,让用户的响应,他们感动了. 自从iPhone 4 SDK然而,在工具栏攻按钮时,辉光是正确的大小,但每一个水龙头的光芒变得越来越小,直到它最终经过约20水龙头只有一个像素大. 正是在这两个模拟器和设备相同. 任何人都经历呢? (是的,我知道这是如此轻微的,它并不重要,我只是想确保我不是疯了,这是苹果的错,与我无关.) (将尝试发布截图ASAP) --------------解决方案----------

  • 寻找目标C /可可触摸的触摸点 2015-02-05

    我有一个问题,找到接触点. 我有一个函数loadView()在这里我设置16瓦(16 UIImageView ). 然后,在功能上: - (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { // Retrieve the touch point UITouch *touch=[[event allTouches]anyObject]; CGPoint point= [touch locationInView:touch.

  • 卓尔的下拉菜单目标C /可可触摸 2014-07-24

    我想显示一个下拉菜单由alphabel(A ...... Z)当我点击一个图像. 是否有可能在客观C.或者有什么更好的approch ??? --------------解决方案------------- 有可能的. 更好的办法? 也许显示出选择器视图

  • 是否有意义先学习可可豹,然后可可触摸的iPhone? 2012-12-30

    其实我没有太在意Mac OS X的开发. 我想要做的只是iPod Touch和iPhone的发展. 但不管怎么说,我开始学习可可和Objective-C. 不过好像有可可和可可触摸之间有许多差异,所以我想知道如果我其实在浪费我的时间. 我是不是应该直接跳转到iPhone的主题? --------------解决方案------------- 我想你可能会有两种可可可可触摸或可可触摸可可,仍然有很好的把握上需要什么,为任何平台编程. 我想Cocoa开发在我的Mac在几年前,是很困惑. 我终于决定拿

  • 对于iPhone开发,你需要学习可可触摸? 2013-12-01

    对于iPhone开发,你需要可可触摸技能或只是目标C? --------------解决方案------------- 这就像问:对Java,你只需要Java或还的Java API. 是的,你需要知道的语言,以及可用的库. 如果你已经知道的Objective-C,那么你有必要的知识,阅读和理解的API文档CocoaTouch API,但是,是的,你需要知道(或至少,查找),并使用CocoaTouch的API,以编程iPhone上. PS中的的iPhoneOS参考库可以在链接中找到. 您也可以找到

  • 如何创建使用iPhone SDK可可触摸模板? 2012-01-13

    我下载了免费的iPhone SDK. 现在,当我尝试创建我不给创建一个可可触摸模板选择一个新的项目. 我只需要创建一个Mac OS X的模板选项. 没有人知道为什么会发生,以及如何解决它? 编辑:如果你开始重新启动下载这是否损坏下载的材料? --------------解决方案------------- 确保满足iPhone的SDK的最低要求. 我猜你可能是对的Mac PowerPC的这是不是(官方)的支持. 它看起来并不像你正确下载它. 你的模板应该是和准备. 一个重新下载应该做的伎俩. (我

  • iPhone目标C:如何获取上的UIImageView触摸点的像素的颜色? 2012-04-06

    iPhone目标C:如何获得触摸点的像素的颜色上UIImageView即使父UIView或本身正在被旋转CGAffineTransformMakeRotation功能? 请问UITouch的视图属性仍返回正确的触摸点即使正确的像素UIView / UIImageView被缩放和旋转? 非常感谢阅读 编辑:感谢您的回答和评论,但对不起,我还是不知道怎么弄的X,从触摸事件的缩放/旋转图像的ÿ点,然后从中提取颜色. 没有人会介意帮助? --------------解决方案------------- 快

  • 什么是最好的可可触摸/ iPhone编程博客? 2012-07-10

    什么是最好的可可触摸/ iPhone编程博客? 每回答一个博客吧. 有些答案可能与最佳可可/ Mac OS X的编程博客重叠? ,但我在寻找博客具有良好的肉iPhone的具体内容(即代码) --------------解决方案------------- 我最喜欢的也有最好的名字: 可可是我的女朋友 可可的爱情. 这家伙写还蛮干净的代码了. http://www.appsamuck.com/ 雷Wenderlich. 虽然博客是年轻的比别人他有建立与几个客人作家社区和博客是非常活跃的,涵盖目前的事

  • 在原生可可触摸的iPhone应用程序谷歌的Adsense 2013-07-10

    我的计划的iPhone应用程序也可在远程HTTPS Web服务很辛苦,所以直到用户决定从免费升级到我的应用程序的专业版我需要生成每个免费用户点击收入的涓涓细流. 我想在一个本身的可可触摸iPhone应用程序中嵌入一个单行的AdSense小工具. 用户界面控制我心目中可能不存在,但会努力这样的事情. 该控制将占据的我的应用程序的默认视图固定部分和将由我的代码进行初始化和设置有通过我的应用确定的关键词. 控制然后将定期坪谷歌的AdSense系统,并显示一个单一的点击广告链接. 如果用户感兴趣的是一个

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.983 (s). 10 q(s)