我以编程方式将一个按钮添加到UITableViewController中,如下所示:
-(void)createFlipButton
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeInfoDark];
button.frame = CGRectMake(282, 372, 18, 19);
[button addTarget:self action:@selector(flipView) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:button];
[self.view bringSubviewToFront:button];
}但是它被卡在了占用button.frame空间的单元中。为什么[self.view bringSubviewToFront:button]不能工作?
而且,[self.tableView bringSubviewToFront:button]也不能工作。
发布于 2012-10-01 00:15:35
我猜你真正想要的是一个浮动视图,也就是一个当表视图滚动时不移动的视图。按钮在单元格中看起来粘滞的原因是整个表格都在滚动视图中,所以当内容移动时,按钮也会移动。
方法是在表格滚动时调整添加的视图的位置。只需实现委托方法:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint buttonOrigin = CGPointMake(200,50);
self.button.frame = CGRectMake(buttonOrigin.x, buttonOrigin.y + self.tableView.bounds.origin.y, self.button.frame.size.width, self.button.frame.size.height);
}你需要为你的按钮存储一个引用,这样你就可以在这里访问它,也许还可以把按钮的位置放到ivar中。
如果您有权访问WWDC 2011视频,您将在课程125中找到诀窍。
发布于 2012-09-26 03:31:43
您可以创建一个透明的UIView;将您的按钮添加到该UIView,然后将该UIView添加到您拥有的视图层次结构中。这应该按照你的要求工作(按钮不是表视图的一部分)。如果需要示例代码的任何帮助,请在下面添加注释。
发布于 2012-09-26 19:29:57
每当我想在同一个视图中使用Table view和其他UI项时,我都会使用UIViewController。该视图控制器符合UITableViewDelegate和UITableViewDataSource。实现了UITableView委托和DataSource方法,因此此视图控制器也可用作表视图控制器。我使用IB或故事板来建立联系。但是,如果您想以编程方式创建所有内容,这也应该起作用。
在您的示例中,如果希望将UIButton与表视图分开,则可以选择如上所述使用UIViewController。
https://stackoverflow.com/questions/12460545
复制相似问题