我已经将UITableView控件子类化,并且样式已分组,但我不需要单元格分隔符.我尝试将我的表视图的separatorStyle设置为none,但它不起作用.谁能帮我吗?
在Apple的iPhone应用程序(如Contacts)中,它们在表视图索引的顶部有一个很好的放大镜图标.由于表视图索引API是基于字符的,我假设此放大镜是Unicode字符.到目前为止,我已经在那里放置了一个问号角色,但这看起来很蹩脚.
谁能告诉我放大镜的特点是什么?
我正在构建一个界面,就像内置的Weather应用程序的翻转视图,或编辑模式下Clock应用程序的Alarms视图.表格视图始终处于编辑模式,因此删除图标显示在每个单元格的左侧.
当表视图处于编辑模式时,我的代理人不会收到didSelectRowAtIndexPath通知.它接收accessoryButtonTappedForRowWithIndexPath通知,但这不是我想要做的.我希望我的行保持可选,即使表视图处于编辑模式.
有关如何实现这一目标的任何想法?
谢谢,
PS Hooray为解禁的NDA.=)
我正在开发一个iPhone应用程序,在我的表视图中我想要Cell Selection Style的自定义颜色,我读了UITableViewCell类参考但是只有三个常量定义为Selection样式(Blue,Gray,None).我看到一个应用程序使用的颜色与参考中定义的颜色不同.
我们如何使用参考中定义的颜色以外的颜色?
提前致谢.
我想完全重置UITableView的滚动位置,这样每次打开它时,它都会显示最顶层的项目.换句话说,我想在每次打开时将表视图滚动到顶部.
我尝试使用以下代码,但看起来我误解了文档:
- (void)viewWillAppear:(BOOL)animated {
[tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionTop animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
这是错误的做法吗?
当使用UITableViewController时,initWithStyle:方法会自动创建底层的UITableView,根据文档 - "正确的尺寸".
我的问题是这些"正确的尺寸"似乎是320x460(iPhone的屏幕尺寸),但我将这个TableView/Controller对推入UINavigationController,它本身包含在UIView中,它本身大约是屏幕高度的一半.
没有框架或边界争论似乎可以正确地重置表的大小,因此它"太长",这意味着有一系列行被推出屏幕底部并且不可见也不可通过滚动.
所以我的问题归结为:告诉UITableViewController将其组件UITableView调整为指定矩形的正确方法是什么?
谢谢!
更新我尝试了这里建议的所有技术无济于事,但我确实发现了一件有趣的事情:如果我完全避开UINavigationController(我不愿意为生产而做,而是作为实验),并添加作为表视图直接我所提到的封闭视图的子视图中,给定的帧大小被推崇.在那一刻我再推出的UINavigationController混进去,不管是以前还是表视图后添加作为一个子视图,也不管之前或表视图添加作为一个子视图后,如果分配/初始化吧,结果和以前一样.
我开始怀疑UINavigationController不是团队合作者......
更新2在屏幕上的表格视图之后检查帧大小的建议很好:事实证明导航控制器实际上在加载和显示之间的某个时间调整大小.我的解决方案,最好是hacky,一直缓存加载时给定的帧,如果在tableView:cellForRowAtIndexPath:的开头更改,则重置它.你问为什么?因为它是我找到的一个有用的地方,这就是原因!
我不认为这是一个解决方案,因为它显然是不合适的,但为了其他任何阅读的好处,它似乎确实有效.
我有一个按钮,我将其添加为表视图的tableHeaderView的子视图.按钮看起来很好,并且它可以间歇性地按住它 - 但大多数情况下,它没有响应.我已经尝试将其添加为表格本身的子视图; 效果大致相同.我认为问题可能出在滚动视图的触摸拦截上,但是禁用滚动表也没有效果.
难道我做错了什么?有人遇到过这种情况么?
编辑 - 澄清一下,我说的是分组样式表中的主表头,而不是节头.认为基本上是在"联系"屏幕后建模的.
我有一个UITableView单元格,根据其内容(可能是几行文本)将具有可变大小.
看来我在布局单元格之前调用了heightForRowAtIndexPath ,我只是通过在我的文本字符串上调用[NSString sizeWithFont]来猜测正确的高度.在我在单元格中放置文本后,是否有更好的方法来设置高度,并且知道它应该具有什么尺寸?
我想创建一个具有不同行高的UITableView,我试图通过在UITableViewCells中创建UILabel来实现这一点.
到目前为止,这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"EntryCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
UILabel *textView = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 300, 40)];
textView.numberOfLines = 0;
textView.text = [entries objectAtIndex:[indexPath row]];
[cell.contentView addSubview:textView];
[textView release];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
这给了我每个单元格2行文本.但是,每个"条目"具有不同的行数,我希望UITableViewCells自动调整大小,根据需要包装文本,而不更改字体大小.
[textView sizeToFit]和/或[cell sizeToFit]似乎不起作用.
这是我希望UITableView看起来的样子:
----------------
Lorem ipsum
----------------
Lorem ipsum
Lorem ipsum
----------------
Lorem ipsum
Lorem ipsum
Lorem ipsum
---------------- …Run Code Online (Sandbox Code Playgroud) cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
在这种方法中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
Run Code Online (Sandbox Code Playgroud)
但是当我选择那个细胞时我只能看到它,否则它不可见.当背景为白色时,它可以很好地工作.我确信我需要设置一个属性,但我不知道需要更改哪个属性才能使这个东西工作.
提前致谢.
干杯.