首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取我的UIBarButtonItem在iOS 11中的位置

在iOS 11中,获取UIBarButtonItem的位置可以通过以下步骤实现:

  1. 首先,确保你已经将UIBarButtonItem添加到了导航栏或工具栏中。
  2. 使用以下代码获取UIBarButtonItem的位置:
代码语言:txt
复制
if let barButtonItemView = barButtonItem.value(forKey: "view") as? UIView {
    let barButtonItemFrame = barButtonItemView.convert(barButtonItemView.bounds, to: nil)
    let barButtonItemPosition = CGPoint(x: barButtonItemFrame.midX, y: barButtonItemFrame.midY)
    print("UIBarButtonItem的位置:\(barButtonItemPosition)")
} else {
    print("无法获取UIBarButtonItem的位置")
}

这段代码中,我们首先通过value(forKey:)方法获取UIBarButtonItem的内部视图,然后使用convert(_:to:)方法将该视图的边界转换为相对于窗口的坐标系。最后,我们计算出UIBarButtonItem的中心点位置,并打印出来。

请注意,这种方法是通过访问UIBarButtonItem的私有属性来实现的,因此可能会在未来的iOS版本中发生变化。建议在使用时进行充分测试,并注意适应可能的变化。

对于云计算领域的相关知识,腾讯云提供了一系列产品和服务,包括云服务器、云数据库、云存储、人工智能、物联网等。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息,并查看相关产品的介绍和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS UITableView获取特定位置的cell

一、tableView双级联动 [菜单栏联动.gif] [UITableView双级联动.gif] 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath...偏移量的值实际上可以代表当时处于tableView顶部的cell在tableView上的相对位置, 那么我们就可以根据偏移量获得处于顶部的cell的indexPath。...UITableView中心的cell [获取UITableView中心线cell.gif] 获取处于tableView中间cell的效果,用上述方案一比较麻烦:要考虑可见cell 的奇、偶个数问题,还有...cell是否等高的情况;方案二用起来就快捷方便多了,取的cell的位置的纵坐标相当于在偏移量的基础上又增加了tableView高度的一半。...:第 %ld 组 %ld个",middleIndexPath.section, middleIndexPath.row); } 需要示例Demo的话请移驾我的Github→UITableViewLinkage

4.8K80

iOS UITableView获取特定位置的cell

一、tableView双级联动 菜单栏联动.gif UITableView双级联动.gif 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath...偏移量的值实际上可以代表当时处于tableView顶部的cell在tableView上的相对位置, 那么我们就可以根据偏移量获得处于顶部的cell的indexPath。...UITableView中心的cell 获取UITableView中心线cell.gif 获取处于tableView中间cell的效果,用上述方案一比较麻烦:要考虑可见cell 的奇、偶个数问题,还有cell...是否等高的情况;方案二用起来就快捷方便多了,取的cell的位置的纵坐标相当于在偏移量的基础上又增加了tableView高度的一半。...:第 %ld 组 %ld个",middleIndexPath.section, middleIndexPath.row); } 需要示例Demo的话请移驾我的Github→UITableViewLinkage

1.3K30
  • JS实现获取鼠标在画布中的位置

    JS实现获取鼠标在画布中的位置 效果展示 概述 本文讲解如何实现我们平时用的画布软件中,怎么获取的我们鼠标时刻在画布中的位置。.../ 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标 // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的 var box = document.querySelector...('.box'); // 获取盒子的元素 box.addEventListener('mousemove', function(e) { // 为盒子添加监听事件 当鼠标在盒子上面的时候.../ 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标 // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的 var box = document.querySelector...('.box'); // 获取盒子的元素 box.addEventListener('mousemove', function(e) { // 为盒子添加监听事件 当鼠标在盒子上面的时候

    6300

    JavaScript 获取鼠标及元素在页面上的位置

    HTML5学堂:JavaScript获取鼠标的位置,大家会想到clientX/Y等属性,灵活的获取鼠标的位置信息,能够便于我们实现各种复杂的页面交互效果,到底还有哪些属性可以获取鼠标的位置信息?...另外,还有哪些能快速获取标签在页面中的位置信息? 在书写一些“拖拽”页面交互效果,比如常见的拖拽效果、自定滚动条、放大镜等效果,都需要用到了鼠标或元素在页面上的位置信息。...另外,也要跟大家分享一个方法,它能快速的获取元素在页面上的位置信息,不同于之前学过的offsetLeft等属性,它就是——getBoundingClientRect()方法 回顾clientX/Y获取鼠标位置的方式...你是不是有疑问了,想跟堡堡说:我测试出来跟e.clientX没啥区别啊。没错,如果你觉得没啥区别才是对的。...今天要给大家分享的是另外一种快速获取元素在页面上的位置,赶紧尝试书写一下下面的实例 代码实例: <!

    3.4K60

    getBoundingClientRect方法获取元素在页面中的相对位置

    获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成“回溯”。...2.在IE8及以下的浏览器中,返回值对象包含的属性值有: top::元素上边缘距离文档顶部的距离; right: 元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离; left:...元素左边缘距离文档左边的距离; 3.在IE9以上、谷歌、火狐等浏览器中,返回值对象包含的属性值有: top: 元素上边缘距离文档顶部的距离; right:元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离...; left:元素左边缘距离文档左边的距离; width:元素的宽度(包含 padding 和 border) height:元素的高度(包含 padding 和 border) 4.在IE8及以下浏览器没有...width 和 height 属性的解决方法: 在IE8及以下浏览器中,可以通过计算得到元素的宽和高: 如: var dom = document.querySelector("#demo"), r

    3.9K20

    跟我学在高德地图——标注我的位置

    大家好,又见面了,我是你们的朋友全栈君。...这里使用的SDK为AMap_Location_V2.5.0_20160526.jar 没有接触过高德地图的同学,请参考 加载一张高德地图 1.获取我的位置 package com.pansoft.oilgas.gaodenavigation...(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求,在定位结束后,在合适的生命周期调用onDestroy()方法 在单次定位情况下,定位无论成功与否,都无需调用...} super.onRequestPermissionsResult(requestCode, permissions, grantResults); } 3.展示获取到的位置数据...4.在地图上标注我的位置 在原来代码的基础上,添加地图MapView 不熟悉的同学,请参考 加载一张高德地图 在onCreate中添加,获取我的位置的相关部分 // show my location

    1.1K10

    兄嘚这是我的位置

    今天给大家带来的是一道剑指offer上的题目,也是一道很经典的题目,经常在面试中出现,题目很简单,大家记得打卡呀。...下面我们来看一下题目描述 题目说明:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。...原地置换: 下面我们看一下这个原地置换法,原地置换的总体思路就是将我们的元素放到他的索引位置。...我们可以这样理解,每个人都有自己的位置,我们需要和别人调换回到属于自己的位置,调换之后,如果发现我们的位置上有人了,则返回。大致意思了解了,下面看代码的执行过程。 题目代码: ?...总的来说今天的题目比较简单,最后的原地置换法,性能较好,大家可以自己实现 一下,这种解题方法也可以用在其他题目上面。大家记得打卡呀。 ? 扫码关注【袁厨的算法小屋】,让我们一起领略代码的魅力吧。

    29810

    获取图片的位置(距离最顶部)

    老规矩,先说需求: 需求是想要获取到图片的位置,然后根据图片的位置添加一个按钮 点击这个按钮 获取图片的信息 正常来讲 这样的需求 先获取dom 再遍历dom 往里面塞按钮就可以了 但是,考虑到各型各色的网站限制和...dom变化,这样就有很多问题, 所以就需要根据图片的当前位置(元素距离顶部的位置(包括滚动条),和左边的位置)来动态的添加这个按钮 因为是hover触发的 所以这个按钮只有一个 (这样的做法是参考阿里以图搜图的功能做的...) ok 需求明白了之后 开始说怎么做 先说公式代码:( top: 图片距离顶部的高度+滚动条的高度,left:图片距离左侧的高度) 1.滚动条的高度     // 获取 当前 滚动条的长度, 水平 ...:(主要方法:dom.getBoundingClientRect)       // 获取 dom 到视口左侧和顶部的相对位置       function getDomToViewPosition(id...进行定位吧 举例看下面这张图: 图片 这张例图的距离left为:20 距离上为:266.515625 当前滚动条的高度为:4683 按照我们的公式 我们动态添加的按钮的位置应该是: top:4683

    2K10

    【Flutter高级玩法- Flow 】我的位置我做主

    1. paintChild与Matrix4 在paintChild时可以传入transform的Matrix4对象进行变换 在这里基本上只用了Matrix4的平移translationValues功能...圆形的Flow布局 其实可以看出,Flow的核心就是根据信息来计算位置 所以,所有的布局都可以通过Flow进行实现。 除此之外对应一些特定情况的布局,使用Flow会非常简单,比如: ?...override bool shouldRepaint(FlowDelegate oldDelegate) { return true; } } ---- 2.圆形布局 + 偏移 能实现出来我还是蛮激动的...定义了menu为中间的组件 children为周围的组件,点击中间组件,执行动画, 在进行定位时,让offsetX和offsetY乘以分率后加半径,这样就会向中心靠拢, 反之扩散,我取名为BurstFlow...布局重在定位,而Flow是定位之王,我的位置我做主。好了,这篇就到这里吧。

    1.7K30

    用Javascript获取页面元素的位置

    二、获取网页的大小 网页上的每个元素,都有clientHeight和clientWidth属性。...但是,在IE6的quirks模式中,document.body.clientWidth返回正确的值,因此函数中加入了对文档模式的判断。...所以,只需要将这两个值进行累加,就可以得到该元素的绝对坐标。 (图二 offsetTop和offsetLeft属性) 下面两个函数可以用来获取绝对位置的横坐标和纵坐标。   ...五、获取网页元素的相对位置 网页元素的相对位置,指该元素左上角相对于浏览器窗口左上角的坐标。 有了绝对位置以后,获得相对位置就很容易了,只要将绝对坐标减去页面的滚动条滚动的距离就可以了。...六、获取元素位置的快速方法 除了上面的函数以外,还有一种快速方法,可以立刻获得网页元素的位置。 那就是使用getBoundingClientRect()方法。

    3.3K70

    VBA:获取指定数值在指定一维数组中的位置

    文章背景:在采用VBA抓取数据时,有时需要判断指定数值是否在一维数组中已存在;如果存在,则希望能够获取该数值在数组内的位置。...在实践过程中发现,VBA的filter函数无法完全匹配指定数值;而借助Excel的match函数,可以实现完全匹配。接下来分别对Filter函数和Match函数进行介绍。...Filter 函数 根据指定的筛选准则,传回包含字串阵列子集的以零为基础的阵列。...默认采用的是vbBinaryCompare选项。 应用示例: 判断某字符串是否在一维数组内存在。 由上图可以看出,采用Filter函数匹配到的是包含A-1的所有元素。...而在实际案例中,可能希望只获得完全匹配的元素。 WorksheetFunction.Match 方法 傳回項目在陣列中的相對位置,其符合指定順序中的指定值。

    7.3K30

    【Flutter高级玩法- Flow 】我的位置我做主

    1. paintChild与Matrix4 在paintChild时可以传入transform的Matrix4对象进行变换 在这里基本上只用了Matrix4的平移translationValues...圆形的Flow布局 其实可以看出,Flow的核心就是根据信息来计算位置 所以,所有的布局都可以通过Flow进行实现。 除此之外对应一些特定情况的布局,使用Flow会非常简单,比如: ?...override bool shouldRepaint(FlowDelegate oldDelegate) { return true; } } ---- 2.圆形布局 + 偏移 能实现出来我还是蛮激动的...定义了menu为中间的组件 children为周围的组件,点击中间组件,执行动画, 在进行定位时,让offsetX和offsetY乘以分率后加半径,这样就会向中心靠拢, 反之扩散,我取名为BurstFlow...布局重在定位,而Flow是定位之王,我的位置我做主。好了,这篇就到这里吧。

    62330

    iOS学习——获取iOS设备的各种信息

    在Android开发中我们可以通过DeviceUtil这个工具类来获取设备网络状态、电池电量等各种状态信息,那么在iOS开发中,我们是否也能获取到设备的各种状态信息呢?...答案是肯定的,本文就主要来学习一下在iOS开发过程中如何获取到设备的各种状态信息。   在iOS中要获取设备的状态信息,主要涉及到三个类:UIDevice、NSbundle和NSlocale。...NsLocale可以获取用户的本地化信息,如货币、语言、国家、数字、日期格式、地理位置显示等等。...iOS设备上安装的所有App清单 要获取iOS设备上安装所有App清单以及一些必要信息,实际上这一个是不允许的,因为涉及到个人隐私问题。...,例如货币类型,国家,语言,数字,日期格式的格式化,提供正确的地理位置显示等等。

    3.4K71

    Android利用自带的位置服务,获取当前位置信息

    笔者项目里,需要获取用户的当前位置信息,因为没有接地图SDK,打算用原生自带的位置服务去做。操作了一下,踩了几个大坑,总算是幸不辱命。这里做个记录,顺便分享给大家。...Thread(Runnable { val serviceString = Context.LOCATION_SERVICE// 获取的是位置服务...: String {//一定要异步,否则获取不到 //用来接收位置的详细信息 var result: List?...爬坑指南: 1.initLocation()这个方法,可以看到笔者是放在线程里跑的,一定要这样做,否则拿到经纬度之后,无法通过经纬度获取到位置信息。笔者在这里纠结了许久。...2.在通过经纬度获取位置信息时,获取到的result是个集合,他对你的当前位置做了不同维度的描述,越后面的,描述得越精确。

    3.3K00

    如何获取对方IP,查询对方的位置

    在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,弹出设置窗口;   在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”;...设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”;同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。...例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。...当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。   ...下面就是该方法的具体实现步骤:   首先单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入“cmd”命令,单击“确定”按钮后,将屏幕切换到MS-DOS工作状态;然后在DOS命令行中执行“netstat

    6.8K30

    Flutter中的获取设备信息以及获取地理位置

    "Moto G (4)" //获取iOS的设备信息 IosDeviceInfo iosInfo = await deviceInfo.iosInfo; print('Running..."iPod7,1" } 获取地理位置 我们使用高德地图定位插件amap_location来获取地理位置。...在使用之前,我们一定要好好阅读文档,关于Android以及iOS平台的相关配置,我在这里不做过多介绍,大家自己去看文档。...result.latitude} """); }); }); AMapLocationClient.startLocation(); } 一定要特别特别注意,本文的目的是给大家介绍获取设备信息以及获取地理位置的第三方组件...,仅做简单的介绍以及推荐,虽然我也写了对应的示例代码,但是代码并不全面,所以后期大家在做项目的时候如果真的用到了我所推荐的第三方,那么一定要认真阅读文档,然后以文档为准,切记切记!!!

    12.3K10

    iOS中pch文件更简便的位置配置

    在iOS6之前,开发者把一些全局引用的文件写在一个pch的header文件中。尽管Xcode 6之后取消这个写法。...但我们依然能在很多过去的库中看到pch的身影,如果pch文件的位置配置不对,会导致一连串的大量报错。例如一些not found.....的错误。下面教给大家一种非常方便实用的位置配置。...http://blog.sina.com.cn/s/blog_801997310102v7q2.html 大多数人都是这样配置的。上面博客中有详尽的说明,为了方便说明我把他这张图片引用过来。...如上图,找到Prefix Header 这一栏,然后 $(SRCROOT)/后面跟上pch文件的目录地址。但是这样用根目录配置在有些情况下很操蛋,你会发现你怎么配置位置还是不对!...下面我提供一个查找目录的方法,直接简单粗暴的解决这个目录配置不正确问题。 ? ? ? ?

    86370

    Android高德之旅(4)我的位置

    废话 说到吃饭,最近刚开了一家...咳咳,说到位置定位,主要包含两部分,第一个是根据GPS获取经纬度,第二是根据经纬度获取省市区行政区划。...先说第一个,使用过地图导航的都知道,定位我的位置通常是一个蓝色的箭头,在地图上移动,我们也来实现这个效果。...1、基础地图 请参照本系列第一篇 2、我的位置 @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate...,只在连续定位模式下生效,单次定位模式下不会生效。...; 9、获取经纬度信息 说了半天,我们只是看到了地图上的显示,还不知道具体的经纬度地点,通过一个简单的回调就可以获得 aMap.setOnMyLocationChangeListener(this);

    1.4K10
    领券