首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在tableView前面设置的UITableViewController net中添加了按钮

在tableView前面设置的UITableViewController net中添加了按钮
EN

Stack Overflow用户
提问于 2012-09-17 21:42:45
回答 5查看 220关注 0票数 0

我以编程方式将一个按钮添加到UITableViewController中,如下所示:

代码语言:javascript
运行
复制
-(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]也不能工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-01 00:15:35

我猜你真正想要的是一个浮动视图,也就是一个当表视图滚动时不移动的视图。按钮在单元格中看起来粘滞的原因是整个表格都在滚动视图中,所以当内容移动时,按钮也会移动。

方法是在表格滚动时调整添加的视图的位置。只需实现委托方法:

代码语言:javascript
运行
复制
-(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中找到诀窍。

票数 1
EN

Stack Overflow用户

发布于 2012-09-26 03:31:43

您可以创建一个透明的UIView;将您的按钮添加到该UIView,然后将该UIView添加到您拥有的视图层次结构中。这应该按照你的要求工作(按钮不是表视图的一部分)。如果需要示例代码的任何帮助,请在下面添加注释。

票数 0
EN

Stack Overflow用户

发布于 2012-09-26 19:29:57

每当我想在同一个视图中使用Table view和其他UI项时,我都会使用UIViewController。该视图控制器符合UITableViewDelegate和UITableViewDataSource。实现了UITableView委托和DataSource方法,因此此视图控制器也可用作表视图控制器。我使用IB或故事板来建立联系。但是,如果您想以编程方式创建所有内容,这也应该起作用。

在您的示例中,如果希望将UIButton与表视图分开,则可以选择如上所述使用UIViewController。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12460545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档