iOS 点击注释图标 弹出对应解释

需求:如题目  接上一篇的开发内容

效果图:

这种情况存在tableView 的一个cell中.

要点

1,  弹出的对应解释 要在可视区域,并且小尖角 要指着 图片

2,  文本不能过高 有极大高度 然后 文本内容可以滚动  (textView)

3,  对话框 宽度 固定为整体UI宽度

4,对话框朝向 由 当前点击的位置 以屏幕1/2为分界判断

5,因为 这个点击的View 是在cell里面  那么弹出的对话框展示 要相对于全屏 最上层  这个 触发 是整个app的第一响应所以

当前已知 焦点相对于cell View的位置  需要进一步知道相对于UIWindow的位置

关键代码:

CGRect rectInTableView = [tableView rectForRowAtIndexPath:self.indexPath];//知道当前cell indexPath 获得当前cell(即View)相对于tableView的位置

CGRect rectInSuperview = [tableView convertRect:rectInTableView toView:window];//获得当前cell(即View)相对于UIWindow的位置

6, 在同一个View里面有两个 两个以上 点击对话框的时候 点击时候 要取消上一次点击 (取消包括  删除/隐藏点击对话框的所有图层) 不然会页面混乱. 如果点击了空白 也要默认为取消点击  因为用户可能要开启别的点击事件 所以 这个时机取消 弹出对话框 为 第一响应

图文混排 讲到这里 也就是告于段落一阵子,具体问题当然还要具体分析,比如 如果 当前的富文本 需要有复制粘帖的功能呢??? 这个该怎么处理

慢慢来,面包牛奶都会有 ,具体问题具体分析吧 到这里了 ending

时间: 2024-11-10 14:00:32

iOS 点击注释图标 弹出对应解释的相关文章

iOS开发项目篇—14点击标题按钮弹出菜单

iOS开发项目篇—14点击标题按钮弹出菜单 一.简单说明 (1)简单实现 点击标题按钮弹框,在箭头向上的时候,显示标题菜单 把ImageView添加到谁的身上?三角形的箭头在导航栏上,因此不能添加到tableview上. 分析图示: 有两个两种方法可以考虑: (1)添加到导航控制器上,因为导航栏是在导航控制器上的. (2)不用考虑控制器,直接添加到窗口上. 拿到窗口 (1)self.view.window这个属性谨慎使用,当开始加载的时候,为空 (2)获取主窗口  [UIApplication

点击文本框弹出可供选择的checkbox复选框代码实例

点击文本框弹出可供选择的checkbox复选框代码实例:本章节分享一段代码实例,它能够点击文本框的时候,能够弹出下拉的checkbox复选框,选中复选框就能够将值写入文本框中,可能在实际应用中的效果没有这么直白简单,不过可以作为一个例子演示,以便于学习者理解和扩展.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author&qu

IOS开发之自定义系统弹出键盘上方的view

IOS开发之自定义系统弹出键盘上方的view 分类: IOS 2014-11-18 09:26 1304人阅读 评论(0) 收藏 举报 目录(?)[+] 这篇文章解决的一个开发中的实际问题就是:当弹出键盘时,自定义键盘上方的view.目前就我的经验来看,有两种解决方法.一个就是利用 UITextField或者UITextView的inputAccessoryView属性,另一种,就是监听键盘弹出的notification来自 己解决相关视图的位置问题. 第一种解决方法相对比较简单,第二种的方法中

解决IOS safari在input focus弹出输入法时不支持position fixed的问题

该文章为转载 我们在做移动web应用的时候,常常习惯于使用position:fixed把一个input框作为提问或者搜索框固定在页面底部.但在IOS的safari和webview中,对position:fixed的支持不是很好(在IOS5之前甚至还不支持position:fixed).我遇到的其中一个问题就是,在iOS6+环境下,input focus弹出输入法的时候,设置了position fixed的input框浮在页面上了,而不是吸附在软键盘上.效果如图(图片来源于网上): 而Androi

手机调用系统的拍照和裁剪功能,如果界面有输入框EditText,在一些手机会出现点击EditText会弹出输入法,却不能输入的情况。

code如下: //Longest common sequence, dynamic programming method void FindLCS(char *str1, char *str2) { if(str1 == NULL || str2 == NULL) return; int length1 = strlen(str1)+1; int length2 = strlen(str2)+1; int **csLength,**direction;//two arrays to recor

点击删除时弹出是否删除提示框

点击删除时弹出是否删除提示框:在通常情况下,想要点击删除某一项的时候,一般会弹出一个框,以提示操作者是否真的要删除此项,这样可以免于出现误操作,比较人性化的一个举措,下面就简单介绍一下如何实现此效果.实例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.soft

android :点击某个按钮弹出在原有布局中没有(或者存在)内容 :以删除原有布局内容为例

主要涉及了(1)对布局中某个控件的监听 (2)在布局文件中设置可显示,删除的参数 visibility的参数的有三个,在这里我只设置了一个,可见的. android:visibility="visible" 剩下的和他的用法相同. (3)在代码中监听控件后,对visibility的参数重新设置. 效果图:点击按钮后edittext不见了 (1)点击高级按钮前 (2)点击高级按钮后 (1)布局文件 <?xml version="1.0" encoding=&qu

第一个微信小程序(实现点击一个按钮弹出toast)

今天根据网上的教程搭建了微信小程序的环境,然后看文档做了一个简单的小应用. 项目的目录是这个样子的: app.js.app.json.app.wxss是全局文件,必不可少的文件.定义在app.wxss中的样式为全局样式,作用于每一个页面.在page的wxss文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖app.wxss中相同的选择器. app.js文件代码: App({ onLaunch: function () { console.log('小程序已启动') }, onShow: f

页面点击Button按钮弹出登陆注册框(含短信验证功能)

1 <div class="login-hidd"></div> 2 <div class="login-wrap"> 3 <div class="login-cont"> 4 <img id="login-img-close" src="/views/image/close08.png" alt="登陆" title="&