在UITableViewController添加可以浮动的控件

396 阅读1分钟

       在UITableViewController添加的view都会添加到tableView上,而且会跟着tableView一起滚动。但是我要实现的是添加一个浮动的控件,锁定在屏幕上的某一个位置。于是我试着好几种方法。

  • 1.将控件添加到[self.navbarController.view addSubview:XX];,但是没有成功,当调整到下个页面的时候,还是会显示在navBarController上。
  • 2.添加到当前View上,然后根据UIScrollView的代理方式进行锁定。但是最终也没有能达到我想要的想过
  • 4.添加到self.view.window,实现方式和2类似
  • 3.添加到self.view.superview上,最终算是实现我想要的效果

e.g.:

- (void)setupMessageBtn {
    UIButton *messageBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    messageBtn.frame = CGRectMake(frameW - 40 - 15, 22, 40, 40);
    [self.view.superview addSubview:messageBtn];
    @weakify(self);
    [QFFramwork touchView:messageBtn action:^{
        @strongify(self);
        debugLog(@"点击了");
    }];
}

       总结:如果以后要是遇到此类需求,不太建议使用UITableViewController