小编Rya*_*end的帖子

如何删除UITableView的边框?

我已经将UITableView控件子类化,并且样式已分组,但我不需要单元格分隔符.我尝试将我的表视图的separatorStyle设置为none,但它不起作用.谁能帮我吗?

iphone cocoa-touch uitableview

62
推荐指数
4
解决办法
6万
查看次数

什么是UITableView索引放大镜角色?

在Apple的iPhone应用程序(如Contacts)中,它们在表视图索引的顶部有一个很好的放大镜图标.由于表视图索引API是基于字符的,我假设此放大镜是Unicode字符.到目前为止,我已经在那里放置了一个问号角色,但这看起来很蹩脚.

谁能告诉我放大镜的特点是什么?

iphone icons cocoa-touch uitableview

57
推荐指数
4
解决办法
2万
查看次数

编辑时UITableView didSelectRow?

我正在构建一个界面,就像内置的Weather应用程序的翻转视图,或编辑模式下Clock应用程序的Alarms视图.表格视图始终处于编辑模式,因此删除图标显示在每个单元格的左侧.

当表视图处于编辑模式时,我的代理人不会收到didSelectRowAtIndexPath通知.它接收accessoryButtonTappedForRowWithIndexPath通知,但这不是我想要做的.我希望我的行保持可选,即使表视图处于编辑模式.

有关如何实现这一目标的任何想法?

谢谢,

PS Hooray为解禁的NDA.=)

iphone cocoa-touch uitableview

43
推荐指数
2
解决办法
1万
查看次数

如何将UITableViewCellSelectionStyle属性设置为某种自定义颜色?

我正在开发一个iPhone应用程序,在我的表视图中我想要Cell Selection Style的自定义颜色,我读了UITableViewCell类参考但是只有三个常量定义为Selection样式(Blue,Gray,None).我看到一个应用程序使用的颜色与参考中定义的颜色不同.

我们如何使用参考中定义的颜色以外的颜色?

提前致谢.

iphone cocoa-touch uitableview

35
推荐指数
4
解决办法
3万
查看次数

如何重置UITableView的滚动位置?

我想完全重置UITableView的滚动位置,这样每次打开它时,它都会显示最顶层的项目.换句话说,我想在每次打开时将表视图滚动到顶部.

我尝试使用以下代码,但看起来我误解了文档:

- (void)viewWillAppear:(BOOL)animated {
    [tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionTop animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

这是错误的做法吗?

iphone cocoa-touch scroll uitableview

18
推荐指数
2
解决办法
2万
查看次数

使用带有小型表的UITableViewController?

当使用UITableViewController时,initWithStyle:方法会自动创建底层的UITableView,根据文档 - "正确的尺寸".

我的问题是这些"正确的尺寸"似乎是320x460(iPhone的屏幕尺寸),但我将这个TableView/Controller对推入UINavigationController,它本身包含在UIView中,它本身大约是屏幕高度的一半.

没有框架或边界争论似乎可以正确地重置表的大小,因此它"太长",这意味着有一系列行被推出屏幕底部并且不可见也不可通过滚动.

所以我的问题归结为:告诉UITableViewController将其组件UITableView调整为指定矩形的正确方法是什么?

谢谢!

更新我尝试了这里建议的所有技术无济于事,但我确实发现了一件有趣的事情:如果我完全避开UINavigationController(我不愿意为生产而做,而是作为实验),并添加作为表视图直接我所提到的封闭视图的子视图中,给定的帧大小被推崇.在那一刻我再推出的UINavigationController混进去,不管是以前还是表视图后添加作为一个子视图,也不管之前或表视图添加作为一个子视图后,如果分配/初始化吧,结果和以前一样.

我开始怀疑UINavigationController不是团队合作者......

更新2在屏幕上的表格视图之后检查帧大小的建议很好:事实证明导航控制器实际上在加载和显示之间的某个时间调整大小.我的解决方案,最好是hacky,一直缓存加载时给定的帧,如果在tableView:cellForRowAtIndexPath:的开头更改,则重置它.你问为什么?因为它是我找到的一个有用的地方,这就是原因!

我不认为这是一个解决方案,因为它显然是不合适的,但为了其他任何阅读的好处,它似乎确实有效.

iphone cocoa-touch objective-c uitableview

15
推荐指数
2
解决办法
2万
查看次数

UITableView头中的UIButton忽略了大多数触摸

我有一个按钮,我将其添加为表视图的tableHeaderView的子视图.按钮看起来很好,并且它可以间歇性地按住它 - 但大多数情况下,它没有响应.我已经尝试将其添加为表格本身的子视图; 效果大致相同.我认为问题可能出在滚动视图的触摸拦截上,但是禁用滚动表也没有效果.

难道我做错了什么?有人遇到过这种情况么?

编辑 - 澄清一下,我说的是分组样式表中的主表头,而不是节头.认为基本上是在"联系"屏幕后建模的.

iphone cocoa-touch uitableview

15
推荐指数
3
解决办法
1万
查看次数

有没有更好的方法来确定UITableViewCell的正确大小?

我有一个UITableView单元格,根据其内容(可能是几行文本)将具有可变大小.

看来我在布局单元格之前调用了heightForRowAtIndexPath ,我只是通过在我的文本字符串上调用[NSString sizeWithFont]来猜测正确的高度.我在单元格中放置文本后,是否有更好的方法来设置高度,并且知道它应该具有什么尺寸?

iphone cocoa-touch uitableview

9
推荐指数
1
解决办法
5403
查看次数

带子视图的可变UITableCellView高度

我想创建一个具有不同行高的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)

iphone user-interface cocoa-touch uitableview

8
推荐指数
1
解决办法
7673
查看次数

如何在黑色背景中显示UITableViewCellAccessoryDisclosureIndicator?

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

在这种方法中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
Run Code Online (Sandbox Code Playgroud)

但是当我选择那个细胞时我只能看到它,否则它不可见.当背景为白色时,它可以很好地工作.我确信我需要设置一个属性,但我不知道需要更改哪个属性才能使这个东西工作.

提前致谢.

干杯.

iphone cocoa-touch uitableview

8
推荐指数
2
解决办法
2万
查看次数