Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在UiTableView顶部创建一个按钮_Ios_Uiview_Uiviewcontroller_Uiscrollviewdelegate - Fatal编程技术网

Ios 在UiTableView顶部创建一个按钮

Ios 在UiTableView顶部创建一个按钮,ios,uiview,uiviewcontroller,uiscrollviewdelegate,Ios,Uiview,Uiviewcontroller,Uiscrollviewdelegate,我试图了解Facebook Messenger是如何在屏幕按钮上创建一个按钮的,该按钮位于UITableView的顶部,并跟随滚动 我想实现右下角的蓝色按钮。我应该采取什么方法来实现这样的目标 任何朝正确方向推进的操作都将受到高度赞赏。在UIViewController子类中,请执行以下操作: [self.view insertSubview:myButton aboveSubview:self.tableView]; 注意:如果您的UIViewController是UITableViewC

我试图了解Facebook Messenger是如何在屏幕按钮上创建一个按钮的,该按钮位于
UITableView
的顶部,并跟随滚动

我想实现右下角的蓝色按钮。我应该采取什么方法来实现这样的目标


任何朝正确方向推进的操作都将受到高度赞赏。

在UIViewController子类中,请执行以下操作:

[self.view insertSubview:myButton aboveSubview:self.tableView];

注意:如果您的UIViewController是UITableViewController,则此代码可能不起作用,因为UITableViewController将其表视图作为其根视图,这使得许多程序员远离它,因为这意味着存在限制。

添加覆盖视图时,有几种方法可供选择:

  • 作为包装
    UINavigationController
    的子视图,这意味着它不会随表内容滚动

  • 作为只有一个节的普通样式的节页脚
    UITableView

  • 作为
    UITableView
    的子视图,并使用
    UIScrollViewDelegate
    scrollViewDidScroll:
    在用户滚动表格时不断更新视图的框架(使其看起来保持静止)


您可以在UITableViewController中轻松完成此操作

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubView:myButton];

我试过这个,它对我有效。祝你好运!:)

VinceBurn但这个不会向下滚动,是吗?@Jonathan,这个不会滚动。从您的屏幕截图上看,您似乎不想滚动。如果你想滚动,你需要在ScrollView中(记住TableView继承自ScrollView),或者需要在scrollViewDidScroll.jszumski的帮助下移动,我不能确定使用第二个选项,因为我有多个部分。既然我确实想让按钮滚动,我就不能使用第一个选项,第三个选项看起来也有点过分了,你不觉得吗?如果内容被滚动,你真的想让按钮滚动到看不见的地方吗?第三个并不是太过分,我已经在一些应用程序中使用过它,它是操作系统实现简单样式节标题的基础。作为注释-如果你在其上附加了一个segue-那么请确保你记住,当触发segue时,它仍将引用以前的视图控制器位置,因此你需要使用新的选择器更新按钮以如果您不希望导航出现异常,请指向新的视图控制器。