我尝试在UITableview
. 这样当内容滚动时,按钮保持在同一位置。按钮应保持透明图像。
我做了一个smoketest,它insertSubview:aboveSubview:
分别工作得很好addSubView
但是在 aUITableview
上执行此TableViewController
操作似乎不起作用。Button 位于 tableView 上并随 tableView 滚动。有趣的是,它也在 tableView 的标题下滚动......
我该如何解决这个问题 - 按钮浮动在 tableview 上?
TableViewController.m(使用工作代码 12.07.2013 更新)
编辑:@property (nonatomic) float originalOrigin;
在 TableViewController.h 中添加了一个
- (void)viewDidLoad
{
[super viewDidLoad];
self.originalOrigin = 424.0;
[self addOverlayButton];
}
#pragma mark Camera Button
- (void)addOverlayButton {
// UIButton *oButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
self.oButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.oButton.frame = CGRectMake(132.0, self.originalOrigin, 56.0, 56.0);
self.oButton.backgroundColor = [UIColor clearColor];
[self.oButton setImage:[UIImage imageNamed:@"CameraButton56x56.png"] forState:UIControlStateNormal];
[self.oButton addTarget:self action:@selector(toCameraView:) forControlEvents:UIControlEventTouchDown];
[self.view insertSubview:self.oButton aboveSubview:self.view];
}
// to make the button float over the tableView including tableHeader
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGRect tableBounds = self.tableView.bounds;
CGRect floatingButtonFrame = self.oButton.frame;
floatingButtonFrame.origin.y = self.originalOrigin + tableBounds.origin.y;
self.oButton.frame = floatingButtonFrame;
[self.view bringSubviewToFront:self.oButton]; // float over the tableHeader
}