zoukankan      html  css  js  c++  java
  • ios悬浮按钮的实现

    我在网上找了很久没有找到一个悬浮按钮,所以才决定自己做一个,效果还不错。

    github 下载demo:https://github.com/MartinLi841538513/MartinDemos (一切以demo为准)

    集成大法:

    一,首先引入MLFloatButton.h .m .xib 文件(在demo含)

    二,在controller中集成成MLFloatButton

    引入#import "MLFloatButton.h"
    实现MLFloatButtonDelegate协议以及他的方法buttonTouchAction
    然后通过loadFromNibWithFrame初始化floatButton(这里一定要在viewWillAppear实现,否则,popBack将会看不到效果)
    prepareForSegue是跳转到另外一个界面也要能够显示该floatButton(通常我们需要这么做),此时我们需要重新设置代理和父视图。并在下一个controller的viewWillAppear实现addSubview,以及协议方法。
    #import "FloatButtonViewController.h"
    #import "MLFloatButton.h"
    #import "SecondViewController.h"
    @interface FloatButtonViewController ()<MLFloatButtonDelegate>
    {
        MLFloatButton *floatButton;
    }
    @end
    @implementation FloatButtonViewController
    
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
        floatButton = [MLFloatButton loadFromNibWithFrame:CGRectMake(100, 100, 32, 32) addTarget:self InSuperView:self.view];//这里一定要在viewWillAppear实现,否则,popBack将会看不到效果
    }
    
    #pragma mark - Navigation
    
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([segue.identifier isEqualToString:@"FloatButtonPush"]) {
            SecondViewController *target = segue.destinationViewController;
            target.floatButton = floatButton;
            target.floatButton.floatButtonDelegate = (id)target; //重新设置代理controller
        }
    }
    
    #pragma MLFloatButtonDelegate
    -(void)buttonTouchAction{
        NSLog(@"button action");
    }
    @end

    在SecondViewController.h

    #import "MLFloatButton.h"
    @interface SecondViewController : UIViewController
    @property(nonatomic,strong)MLFloatButton *floatButton;
    @end

    在SecondViewController.m

    #import "SecondViewController.h"
    
    @interface SecondViewController ()<MLFloatButtonDelegate>
    @end
    @implementation SecondViewController
    
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
        [self.floatButton showInFatherView:self.view];
    }
    
    #pragma MLFloatButtonDelegate
    -(void)buttonTouchAction{
        NSLog(@"SecondViewController floatButton touched");
    }
    @end
  • 相关阅读:
    Jquery 验证 validate
    JQuery的父、子、兄弟节点查找,节点的子节点循环
    i386、i586、i686、noarch、x86_64
    Java 遍历类中的属性
    页面的缓存与不缓存设置
    JavaScript 判断输入是否为中文的函数
    检查radio/checkbox是否至少选择一项
    JavaScript 检查是否是数字
    JavaScript 检查IP
    Javascript 身份证号获得出生日期、获得性别、检查身份证号码
  • 原文地址:https://www.cnblogs.com/MartinLi841538513/p/4121837.html
Copyright © 2011-2022 走看看