1
blank_dlh 2013-05-13 17:22:03 +08:00 1
UITableViewController 的 view 就是个 TableView ,你 add 的时候实际上就是 add 到 TableView 上了。为什么一定要用 UITableViewController 呢?
|
2
laihj 2013-05-13 17:24:31 +08:00 1
试试headerview?
|
3
qichunren OP 嗯,你说的我知道是那样,我从Interface Builder中看出来了。但是我现在就是不想将现有的UITableViewController提升为UIViewController,因我我使用了第三方的库,目前还不好改动。
所以想看有没有办法直接在UITableViewController的视图上添加自定义的固定视图。 |
5
Swave 2013-05-13 19:08:15 +08:00
如果只有一个section的话,用section header view和section foot view应该可以
|
6
alexrezit 2013-05-13 20:56:03 +08:00 via iPad
你迟早要改过去的不如现在就改, 不改的话即使实现了也会挡住滚动条.
|
7
Gal3rielol 2013-05-13 21:52:05 +08:00 1
在viewDidLoad:里面这么做
- (void)viewDidLoad { [super viewDidLoad]; //Do the stuff about tableview [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"]; //Add a container view as self.view and the superview of the tableview UITableView *tableView = (UITableView *)self.view; UIView *containerView = [[UIView alloc] initWithFrame:self.view.frame]; tableView.frame = tableView.bounds; self.view = containerView; [containerView addSubview:tableView]; //add the view as a subview of the container view, it will be fixed on the top UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; topView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5]; [self.view addSubview:topView]; } |
8
zhc 2013-05-13 22:04:11 +08:00 via iPhone 1
找到你这个controller的view既这个tableview的superview在上面放,如果找不到也不肯重构,找到最低下那个window然后。。。。
|
9
wezzard 2013-05-13 23:19:35 +08:00 1
可以,监听你的UITableView的delegate然后在scrollViewDidScroll:方法里面手动修正视图位置
|
10
ShengjiaWANG 2013-05-14 02:29:50 +08:00
思路:在scrollViewDidScroll方法里,用setContentOffset搞定。
|
11
ShengjiaWANG 2013-05-14 02:34:28 +08:00 1
或者用 @Gal3rielol 的方法,通过先把tableView加到一个view(容器)里,然后再在里面就能随便添加别的什么东西而不受tableView干扰了。
很多时候不直接使用UITableViewController,而是用UIViewController <UITableViewDelegate, UITableViewDataSource>代替,就是为的这个。 |
12
leafduo 2013-05-14 04:16:20 +08:00 via iPad 1
外面套个 view,直接在 table view 上搞不好弄,效果也不好。
所以一般不怎么用 UITableViewController,直接用 view controller,然后自己就可以胡搞了。 |
13
dingtianran 2013-05-14 08:59:26 +08:00
把这个tableView设成只有一个section,这样这个section的header就永远在最上面了
|
14
so898 2013-05-14 09:14:36 +08:00 2
曾经我很天真的的幻想加在superview上面就好了……
之后我又很天真的幻想加载view.windows上面就好了…… 再之后我还在很天真的幻想加载到tableview上,然后通过检测scrollview滚动来调整位置就好了…… 最后…… 我发现还是得提升uitablveview到uiviewcontroller…… |