tableView添加悬浮按钮button添加悬浮窗

如何给tableView添加一个悬浮的按钮? 恐怕没有想象的那么简单!

最近在公司做项目时,产品经理有一个需求就是在一个 tableView上 加一个悬浮的按钮,

尝试了很多方案之后我终于找到了一个通用的可行的方案!

最终效果图:

滑动tableView之后的效果是:

可以 看到,我们实现了 悬浮的效果,随着tableView的滑动,悬浮按钮并没有随之儿而滚动!
受到这个启发,我们应该可以在 tableView上面,可以根据实际情况添加一个 悬浮的  置顶按钮,提高用户体验!
首先说一下方案的选取可行性:
1.Storyboard 中拖拽的 TableViewController,  使用 self.view添加悬浮按钮,结果是 :按钮随着tableView滚动!不是我们想要的结果!
解释:TableViewController 的视图层次如下红色方框内,可以看到 并没有 view(可能是系统的处理让view置于很下层):

但是 上图有一个问题:tableView的上面会有一个空白?如何解决?将在后续的文章中详细介绍:

http://blog.csdn.net/yangbingbinga

这导致我们在使用tableView添加了一个 悬浮按钮时,会随着 tableView的滚动而滚动!
2.storyboard +ViewController +tableView +any(sizeClass= any)
解释:也就是在 ViewController的view上贴一个tableView,然后在view上贴上悬浮按钮并且把该按钮放入到最上层!(bringSubviewToFront)
视图结构如下:

并且把  sizeClass设置为 any模式:

代码实现如下:

ViewController绑定的是ViewController类:

代码如下:

添加了两个悬浮按钮:

//
//  ViewController.m
//  StoneButton
//
//  Created by http://blog.csdn.net/yangbingbinga on 14/12/26.
//  Copyright (c) 2014年 http://blog.csdn.net/yangbingbinga. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIScreen *s=[UIScreen mainScreen];
    CGFloat width=s.bounds.size.width;
    CGFloat height=s.bounds.size.height;
    CGRect frame=CGRectMake(15, height-62, width-30, 50);
    UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
    [button setTitle:@"悬浮按钮" forState:UIControlStateNormal];
    [button setBackgroundColor:[UIColor redColor]];
    [button setFrame:frame];
    button.layer.cornerRadius=5;//设置圆角
    button.clipsToBounds=YES;
    [self.view addSubview:button];
    [self.view bringSubviewToFront:button];//关键语句,让  button显示在最前!
    CGRect frame2=CGRectMake(15, 400, 50, 150);
    UIButton *button2=[UIButton buttonWithType:UIButtonTypeCustom];
    [button2 setTitle:@"悬浮按钮2" forState:UIControlStateNormal];
    [button2 setBackgroundColor:[UIColor grayColor]];
    [button2 setFrame:frame2];
    button2.layer.cornerRadius=5;
    button2.clipsToBounds=YES;
    [self.view addSubview:button2];
    [self.view bringSubviewToFront:button2];

}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 20;//模拟20条数据
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    long  row=indexPath.row%3;
    UITableViewCell *cell;//见图,一共有a,b,c3种cell
    NSString *idf;
    if (row==0) {
        [email protected]"a";
    }
    else if(row==1)
    {
        [email protected]"b";
    }
    else
    {
        [email protected]"c";
    }
    cell = [tableView dequeueReusableCellWithIdentifier:idf forIndexPath:indexPath];
    return cell;
}

@end
代码下载地址:http://share.weiyun.com/4c2aa46cc9f787470125761c53c6a011

更多原文地址:http://blog.csdn.net/yangbingbinga

时间: 2024-10-19 17:04:21

tableView添加悬浮按钮button添加悬浮窗的相关文章

MFC 基础知识:对话框背景添加图片和按钮Button添加图片

很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识.的确,任何知识一段时间过后都比较容易忘记,但回顾起来还是很有印象的. 这篇文章主要是回顾以前的MFC基础知识,给对话框添加背景图片和给按钮button添加背景图片:希望此篇基础性文章对大家有所帮助!同时为下次做MFC相关知识提供点此时所想所感吧.内容比较简单,高手飘过~ 一. 对话框背景添加图片 首先通过VS2012创建MFC对话框应用程序,项目

Android用悬浮按钮实现翻页效果

今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子. 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.LayoutParams.那么在AndroidManifest.xml中添加权限: ? 1 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 然后,我们要对WindowManager,WindowManager.La

【博客美化】07.添加打赏按钮

博客园美化相关文章目录: [博客美化]01.推荐和反对炫酷样式 [博客美化]02.公告栏显示个性化时间 [博客美化]03.分享按钮 [博客美化]04.自定义地址栏logo [博客美化]05.添加GitHub链接 [博客美化]06.添加QQ交谈链接 [博客美化]07.添加打赏按钮 1.添加打赏按钮 进入自己的博客园->设置,将以下html代码添加到“页首Html代码” <!--打赏 Start--> <script> window.tctipConfig = { staticP

127使用 TableView 自带的单元格样式实现好友列表,另外在单元格中添加辅助按钮

类似的做法如之前这篇随笔:114自定义 UITableViewCell 实现好友列表(扩展知识:如何使用xib创建自定义的表格视图单元格 KMTableViewCell) 相比之下:自定义 UITableViewCell 的内容灵活,可根据需求调整展示效果,应用场景更广:一般适用于TableView 自带的单元格样式无法实现的效果. 效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController :

Android FloatingActionButton(FAB) 悬浮按钮

FloatingActionButton 悬浮按钮                                                                                                                                  -------部分资料从网上查找的,如果不妥,请留言通知我更改! 1)布局文件 app:backgroundTint - 设置FAB的背景颜色. app:rippleColor - 设置FA

代码添加一个按钮及监听方法

有时候无法从控件中拖拽一个按钮到storyboard,必须用编写代码方式添加按钮: 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after loading the view, typically from a nib. 5 //计算出展示表情区域的宽和 展示区距顶部的高度+10个偏移量 6 //添加按钮 9 //创建button 10 addBtn = [[UIButton alloc

iOS实现row行column列个按钮的添加

注释要添加的按钮的总个数为total -(void)addScrollAndButton{ int  COLUMN=4;//列数 int total = self.listArray.count; //int rows = (total / COLUMN) + ((total % COLUMN) > 0 ? 1 : 0); int btnwidth=50; int btnheight=30; int widthblank=20; int heightblank=20; for (int i=0;

Ugui按钮事件添加方法

按钮事件添加方法3个例子 Eg1: using UnityEngine; using System.Collections; using UnityEngine.Events;//引用事件命名空间 using UnityEngine.UI;//引用UI命名空间 public class Test : MonoBehaviour { // Use this for initialization void Start () { //定义Action,并赋予delegate方法 UnityAction

添加功能区按钮到SP2010某一列表或库

添加功能区按钮到SP2010某一列表或库 有时候你需要给列表/库的功能区天假期新按钮--没有什么比这更简单的了.你只需要新建一个SP项目,添加一个feature,添加一个空白元素,编辑它的Elements.xml文件. 大多说时候它看起来像这样: Elements.xml: <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.co