广告
返回顶部
首页 > 资讯 > 精选 >iOS如何实现全局悬浮按钮
  • 752
分享到

iOS如何实现全局悬浮按钮

2023-06-29 14:06:36 752人浏览 独家记忆
摘要

这篇文章给大家分享的是有关iOS如何实现全局悬浮按钮的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下现在有很多app都做这个全局按钮如上面两张图的效果,完成一个全局悬浮的按钮,而且不会划出屏幕外既然是全

这篇文章给大家分享的是有关iOS如何实现全局悬浮按钮的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

现在有很多app都做这个全局按钮

iOS如何实现全局悬浮按钮

如上面两张图的效果,完成一个全局悬浮的按钮,而且不会划出屏幕外
既然是全局,那写在AppDelegate中
UIWindow是一种特殊的UIView,它相当于一块画框,而UIView相当于里面的画布。通常在一个app中只会有一个UIWindow。

AppDelegate.h

@interface AppDelegate : UIResponder <UIApplicationDelegate>@property (strong, nonatomic) UIWindow *window;@property (strong, nonatomic) UIButton *button;@end

AppDelegate.m

先button懒加载

- (UIButton*)button {    if (!_button) {        _button = [UIButton buttonWithType:UIButtonTypeCustom];        _button.frame = CGRectMake(258, 450, 60, 60);//初始在屏幕上的位置        [_button setImage:[UIImage imageNamed:@"bcl_btn_whole"] forState:UIControlStateNORMal];    }    return _button;}

然后将其加在window上,设置手势

-(void)createButton{    if (!_button) {        _window = [[UIApplication sharedApplication] keyWindow];        _window.backgroundColor = [UIColor whiteColor];        [_window addSubview:self.button];        UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:                                       self action:@selector(locationChange:)];        pan.delaysTouchesBegan = YES;        [_button addGestureRecognizer:pan];    }}

这个呢是为了开机启动两秒后创建全局button

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    [self performSelector:@selector(createButton) withObject:nil afterDelay:2];}

最关键的就是设置button不要划出屏幕外
以下四个else if分别为屏幕的上下左右
设置一个标记值isOVer
如果超出屏幕范围,纠正回来

-(void)locationChange:(UIPanGestureRecognizer*)p{    CGFloat HEIGHT=_button.frame.size.height;    CGFloat WIDTH=_button.frame.size.width;    BOOL isOver = NO;    CGPoint panPoint = [p locationInView:[UIApplication sharedApplication].windows[0]];    CGRect frame = CGRectMake(panPoint.x, panPoint.y, HEIGHT, WIDTH);    NSLog(@"%f--panPoint.x-%f-panPoint.y-", panPoint.x, panPoint.y);    if(p.state == UIGestureRecognizerStateChanged){        _button.center = CGPointMake(panPoint.x, panPoint.y);    }    else if(p.state == UIGestureRecognizerStateEnded){        if (panPoint.x + WIDTH > KScreenWidth) {            frame.origin.x = KScreenWidth - WIDTH;            isOver = YES;        } else if (panPoint.y + HEIGHT > KScreenHeight) {            frame.origin.y = KScreenHeight - HEIGHT;            isOver = YES;        } else if(panPoint.x - WIDTH / 2< 0) {            frame.origin.x = 0;            isOver = YES;        } else if(panPoint.y - HEIGHT / 2 < 0) {            frame.origin.y = 0;            isOver = YES;        }        if (isOver) {            [UIView animateWithDuration:0.3 animations:^{                self.button.frame = frame;            }];        }

感谢各位的阅读!关于“iOS如何实现全局悬浮按钮”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: iOS如何实现全局悬浮按钮

本文链接: https://www.lsjlt.com/news/325274.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iOS实现全局悬浮按钮
    本文实例为大家分享了iOS实现全局悬浮按钮的具体代码,供大家参考,具体内容如下 现在有很多app都做这个全局按钮 如上面两张图的效果,完成一个全局悬浮的按钮,而且不会划出屏幕外既然...
    99+
    2022-11-13
  • iOS如何实现全局悬浮按钮
    这篇文章给大家分享的是有关iOS如何实现全局悬浮按钮的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下现在有很多app都做这个全局按钮如上面两张图的效果,完成一个全局悬浮的按钮,而且不会划出屏幕外既然是全...
    99+
    2023-06-29
  • iOS实现悬浮按钮
    前言 开发中会遇到有悬浮按钮功能。 效果 上代码 SuspensionButton.h #import <UIKit/UIKit.h> NS_ASSUME_NON...
    99+
    2022-06-04
    iOS 按钮
  • uniapp开发小程序实现全局悬浮按钮的代码
    目录看效果须知:1.uni.getSystemInfoSync()获取手机的信息接口2.uni.createSelectorQuery().in(this)3.touchmove滑动...
    99+
    2022-11-13
  • Android实现系统级悬浮按钮
    本文实例为大家分享了Android系统级悬浮按钮的具体代码,供大家参考,具体内容如下 具体的需求 1、就是做一个系统级的悬浮按钮,就像iPhone 桌面的那个悬浮按钮效果一样...
    99+
    2022-06-06
    系统 按钮 Android
  • Android中FloatingActionButton实现悬浮按钮实例
    Android中FloatingActionButton(悬浮按钮) 使用不是特别多,常规性APP应用中很少使用该控件. 当然他的使用方法其实很简单.直接上代码:xml:<?xml version="1.0" encoding...
    99+
    2023-05-31
    android 悬浮按钮 roi
  • vue如何实现移动端拖拽悬浮按钮
    这篇文章主要讲解了“vue如何实现移动端拖拽悬浮按钮”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现移动端拖拽悬浮按钮”吧!功能介绍:在移动端开发中,实现悬浮按钮在侧边显示,为不...
    99+
    2023-07-02
  • vue实现移动端拖拽悬浮按钮
    目录功能介绍:大致需求:整体思路:具体实现:一、position:fixed布局:二、touch事件绑定:三、页面引入:本文实例为大家分享了vue实现移动端拖拽悬浮按钮的具体代码,供...
    99+
    2022-09-27
  • Android利用悬浮按钮实现翻页效果
    今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子。 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.Layout...
    99+
    2022-06-06
    按钮 Android
  • 怎么在Android中实现一个悬浮按钮
    怎么在Android中实现一个悬浮按钮?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体实现代码:import android.content.Context;i...
    99+
    2023-05-31
    android roi %d
  • jquery实现界面点击按钮弹出悬浮框
    本文实例为大家分享了jquery实现界面点击按钮弹出悬浮框的具体代码,供大家参考,具体内容如下 首先定义两个div: 一个是背景,一个是悬浮窗。 <input id="Butt...
    99+
    2022-11-13
  • Android开发悬浮按钮 Floating ActionButton的实现方法
    一、介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.Flo...
    99+
    2022-06-06
    方法 android开发 按钮 Android
  • 如何使用CSS3按钮鼠标悬浮实现光圈效果
    小编给大家分享一下如何使用CSS3按钮鼠标悬浮实现光圈效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 、HTML相关知识点...
    99+
    2022-10-19
  • Android如何实现自定义可拖拽的悬浮按钮DragFloatingActionButton
    这篇文章主要介绍Android如何实现自定义可拖拽的悬浮按钮DragFloatingActionButton,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!悬浮按钮FloatingActionButton是Androi...
    99+
    2023-05-31
    android
  • CSS3按钮鼠标悬浮怎么实现光圈效果
    这篇文章主要介绍了CSS3按钮鼠标悬浮怎么实现光圈效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS3按钮鼠标悬浮怎么实现光圈效果文章都会有所收获,下面我们一起来看看吧。1 、HTML相关知识点 &nbs...
    99+
    2023-07-04
  • 圣诞节,写个程序练练手————Android 全界面悬浮按钮实现
    开始我以为悬浮窗口,可以用Android中得PopupWindow 来实现,虽然也实现了,但局限性非常大。比如PopupWindow必须要有载体View,也就是说,必须要指定在...
    99+
    2022-06-06
    圣诞节 程序 界面 按钮 Android
  • 在Android开发中使用WindowManager实现一个悬浮按钮
    这篇文章将为大家详细讲解有关在Android开发中使用WindowManager实现一个悬浮按钮,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。效果:整体思路360手机卫士的内存球其实就是一个...
    99+
    2023-05-31
    android windowmanager age
  • 使用vue怎么实现一个可移动的悬浮按钮
    使用vue怎么实现一个可移动的悬浮按钮?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Vue的优点Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟...
    99+
    2023-06-06
  • Android无障碍全局悬浮窗实现示例
    目录无障碍添加 UI配置分析TypeFlagLayoutInDisplayCutoutModeAndroid 无障碍的全局悬浮窗可以在屏幕上添加 UI 供用户进行快捷操作,可以展示在...
    99+
    2022-11-13
  • Flutter实现增强版的页面悬浮按钮的示例代码
    目录前言SpeedDial 使用总结前言 Flutter 自带的 FloatingActionButton 为我们提供了一个悬浮在顶部的按钮,这个按钮始终在最顶层,因此可以做一些快捷...
    99+
    2023-01-31
    Flutter页面悬浮按钮 Flutter悬浮按钮 Flutter 按钮
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作