Tag: uitableview

UITableView与静态单元格不显示

我已经使用Storyboards(选项卡视图模板)创build了一个新的Xcode项目。 我添加了几个视图控制器到我的故事板,并希望使用一个静态单元格的UITableView。 我创build了它,但是当我在模拟器中运行时,单元格不显示。 除了这个故事板文件,我没有改变任何项目。 我正在显示故事板编辑器和模拟器运行的截图。 标签出现,所以视图加载正确。 我设置背景颜色为灰色,所以我可以看到talbeview正在加载。 所有单元格都设置为可见。 我把他们的风格改成了Basic,编辑了标签,并增加了一个披露指标,就这些。

PresentViewController来自xib中的自定义TableCell

我已经创build了自定义tableView控制器,在单元格内放置了一个button来打开设备照片库。 我的问题,我无法打开从CustomCell.m imagePickerController,其显示下面的错误。 请给一些想法来解决我的问题。

带dynamic高度iOS的UITableViewCell

我在我的应用程序中使用CustomCell实现了TableView, 我想根据UITableViewCell中的文本长度,我的UITableViewCelldynamic高度, 这里是Customcell的快照 :这里是我的UITableView的快照 : heightForRowAtIndexPath代码片段 #define FONT_SIZE 14.0f #define CELL_CONTENT_WIDTH 320.0f #define CELL_CONTENT_MARGIN 10.0f – (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; { NSString *text = [DescArr objectAtIndex:[indexPath row]]; CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH – (CELL_CONTENT_MARGIN * 2), 20000.0f); CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap]; CGFloat height = MAX(size.height, 100.0); return height; } 正如您在第二张图片中看到的,单元格的高度是固定的,它不会随文本(内容)大小而改变。 我在哪里犯错? 我怎样才能使标签或单元格根据其内容/文本更新其大小?

UITableView和UIView与keyboardWillShow

我有这个UITableView几乎填充我的整个UIViewController,我有一个UIView在底部包含一个button和一个文本框。 当我点击文本框时,我想让UIView和tableview向上推,这样UIView就在键盘之上。 – UIView: – UITextField – UIButton 我已经在这里尝试了多个build议,但似乎没有在我的情况下工作。

从故事板检索自定义原型单元格高度?

使用“dynamic原型”在故事板上指定UITableView内容时,可以将“行高”属性设置为“自定义”。 在实例化单元格时,不会考虑此自定义行高。 这是有道理的,因为我使用的原型单元格是由我的应用程序代码在实例化单元时决定的。 实例化所有的单元格时,计算布局会带来性能损失,所以我明白为什么不能这样做。 那么问题,我可以以某种方式检索给定单元格重用标识符的高度,例如 [myTableView heightForCellWithReuseIdentifier:@"MyCellPrototype"]; 或沿着这条线? 还是我必须在我的应用程序代码中重复明确的行高,维护负担如下? 解决了,在@TimothyMoose的帮助下: 高度存储在单元本身,这意味着获得高度的唯一方法是实例化原型。 这样做的一个方法是在正常的单元callback方法之外预先出队。 这是我的小POC,这是工作: #import "ViewController.h" @interface ViewController () { NSDictionary* heights; } @end @implementation ViewController – (NSString*) _reusableIdentifierForIndexPath:(NSIndexPath *)indexPath { return [NSString stringWithFormat:@"C%d", indexPath.row]; } – (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if(!heights) { NSMutableDictionary* hts = [NSMutableDictionary dictionary]; for(NSString* reusableIdentifier in [NSArray arrayWithObjects:@"C0", @"C1", […]

UIButton不会在iOS7中显示突出显示

我已经看了很多类似的东西的post,但没有一个相当匹配或解决这个问题。 自iOS 7以来,每当我添加一个UIButton到一个UITableViewCell ,甚至到footerview,它的工作原理是“很好”,这意味着它接收到目标动作,但不会显示通常发生在您点击一个UIButton的小突出显示。 它使界面看起来很时髦,不会显示button对触摸的反应。 我敢肯定,这是iOS7中的一个错误,但任何人都find了解决scheme或可以帮助我find一个:) 编辑:我忘了提及,如果我长时间按住button,它会突出显示,但不是像刚刚添加到标准视图那样快速点击。 码: 创buildbutton: UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.titleLabel.font = [UIFont systemFontOfSize:14]; button.titleLabel.textColor = [UIColor blueColor]; [button setTitle:@"Testing" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchDown]; button.frame = CGRectMake(0, 0, self.view.frame.size.width/2, 40); 我testing过的东西: //移除UITableView上的手势识别器,以防止它们UITableView 。 for (UIGestureRecognizer *recognizer in self.tableView.gestureRecognizers) { recognizer.enabled = NO; } //从Cell中删除手势 for (UIGestureRecognizer *recognizer in self.contentView.gestureRecognizers) […]

tableFooterView属性不修复表格视图底部的页脚

我在viewDidLoad方法中设置页脚视图: UIView *fView = [[UIView alloc] initWithFrame:CGRectMake(0, 718, 239, 50)]; fView.backgroundColor =[UIColor yellowColor]; self.table.tableFooterView = fView; 不幸的是,页脚并没有绘制上面指定的(x,y) ,而是粘在单元格上,所以如果表格视图有4个单元格,页脚将被绘制在第5个单元格中。 我什至尝试了协议方法, tableView:viewForFooterInSection – (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ UIView *fView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 239, 50)]; fView.backgroundColor =[UIColor yellowColor]; return fView; } 问题没有解决,我相信tableFooterView属性应该fi在表视图底部的页脚视图,但我不知道我可能会在这里失踪? 提前感谢。

检测在tableview中按下的uibutton:Swift最佳实践

我有一个表格中的可变数目的单元格代表学生对应于他们的特定教师。 他们是一个自定义的单元格,带有一个button,触发一个新的VC的继续,提供关于其单元格的学生的详细信息。 我的问题是: 快速识别哪个button被按下的最佳做法是什么? 一旦我知道索引path,我可以确定哪些学生的信息需要传递给下一个VC。 在后面的文章中有一个很好的答案,但是我不知道如何翻译成Swift。 任何帮助将非常感激。 检测在UITableView中按下了哪个UIButton

缺less返回UITableViewCell

我相信这个问题之前已经被问过了,但我找不到一个解决我嵌套的if-else和switch-case逻辑问题的答案。 我有一个UITableView有两个部分,每个部分有两个自定义单元格。 就是这样。 4细胞。 但是不pipe我做什么,我都会得到“在返回UITableViewCell的函数中缺less返回值” 问题如何更改此设置,以便在满足swift逻辑的底部得到一个else语句? 任何帮助将非常感激 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { if indexPath.section == 0{ switch (indexPath.row) { case 0: let cell0: SettingsCell! = tableView.dequeueReusableCellWithIdentifier("cell0", forIndexPath: indexPath) as! SettingsCell cell0.backgroundColor = UIColor.redColor() break case 1: let cell1: SettingsCell! = tableView.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as! SettingsCell cell1.backgroundColor = UIColor.whiteColor() break default: […]

如何确定基于内容的UIWebView高度,在一个可变的高度UITableView?

我正在试图创build一个可变高度行的UITableView中解释这个问题的答案 我的问题是每个单元格包含一个与不同的(静态加载)内容的UIWebView我无法弄清楚如何根据内容计算适当的高度。 有没有办法做到这一点? 我尝试过这样的事情: (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { WebViewCell *cell = (WebViewCell*)[self tableView:tableView cellForRowAtIndexPath:indexPath]; [cell setNeedsLayout]; [cell layoutIfNeeded]; return cell.bounds.size.height; } 单元格本身是从一个笔尖加载的,它只是一个包含UIWebView的UITableViewCell 。 (如果单元格将自己调整为最大的html内容,虽然可变高度会更好)也是没问题的。