iOS 箭头类型视图的几点心得

最近项目上要求开发箭头的引导视图,视图的位置内容都是可变.

根据产品要求,总结几点心得体会:

一 产品要求:

1 箭头要在被指向的图形横轴中心;

2 引导视图大小固定,但是位置要求根据被指向的位置变化;

二 心得:

1 根据箭头指向的位置计算整个图形的位置;

计算的方法:

A.先根据按照箭头剧中计算,将传入的箭头的位置认为是整个箭头图形的中心,计算出一个X轴最小、最大位置(view_min_x,view_max_x)

B.如果view_min_x大于等于8 并且view_max_x小于等于屏幕宽度-8 就使用A中view_min_x作为箭头引导图的x坐标,同时箭头的位置在整个箭头图形中剧中

C.如果view_min_x小于8 并且view_max_x小于等于屏幕宽度-8,就使用8作为箭头引导图的x坐标,将传入的箭头x坐标-8作为箭头的位置

D. 如果view_min_x大于等于8并且view_max_x大于屏幕宽度-8,就使用屏幕宽度-8.0f-箭头引导图宽度作为箭头引导图的x坐标,将,将传入的箭头x坐标-8作为箭头的位置

(8 是左右个有8个点的间隔)

2 绘制箭头图形使用了CAShapeLayer 绘制箭头图形,要求有圆角,注意绘制圆角时圆心的坐标

三 具体实现参见如下:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 23.0px Menlo; color: #6122ae; background-color: #d4efd6 }

原文地址:https://www.cnblogs.com/programmer-blog/p/9158845.html

时间: 2024-11-05 12:27:33

iOS 箭头类型视图的几点心得的相关文章

IOS - 购买类型视图

购买类型视图定制 代码 // 支付页面格式 - (UIView*) CellForRowAtRow:(NSInteger) row { UIView* itemView = [UIView viewWithFrame: CGRectMake(0, 0, viewWidth() - 20, 45) andBkColor: [UIColor clearColor]]; NIDASSERT(row < _alipayInfo.count); if (row < _alipayInfo.count)

iOS开发系列--视图切换

概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController UINavigationController 模态窗口 UITabBarController iOS三种视图切换的原理各不相同: UITabBarController:以平行的方式管理视图,各个视图之间往往关系并不大,每个加入到UITabBarController的视图都会进行初始化即使当前不显示在

【ThinkPHP】关于ThinkPHP关联模型和视图模型的一些心得

视图模型更加类似一张表虚拟的表,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成.对其中所引用的基础表来说,视图的作用类似于筛选,这是ThinkPHP手册上的说法 其实说白了,视图模型就是mysql多表查询而已,视图模型不支持多表更新,删除 而关联模型是多个表查询以后的结果组合,会多次查询mysql,(在执行完主表查询以后,会有个_after_select)之类的操作,然后组合结果集.在一些情

IOS中标签视图和Block

标签视图控制器 - UITabBarController 自定义UITabBarItem 自定义导航栏和标签栏背景图片 三个视图控制器的综合使用 一. 标签视图控制器  UITabBarController UITabBarController有以下重要属性 viewControllers   显示的视图控制器 tabBar                  标签栏 delegate                协议 tabBar 是 UITabBar对象, 包含多个UITabBarItem,

Xamarin iOS文本框视图

Xamarin iOS文本框视图 与标签视图不同,文本框视图(一般使用UITextField类实现)可以接收用户的文本输入,并进行显示. [示例2-16]以下将使用文本框来实现QQ登录界面的效果.具体步骤如下: (1)创建一个Single View Application类型的工程,命名为2-5 (2)打开MainStoryboard.storyboard文件,对主视图进行设置.效果如图2.30所示. 图2.30  主视图 需要添加的视图以及设置如表2-8所示. 表2-8  设置主视图 (3)打

?Xamarin iOS教程之视图显示图像

Xamarin iOS教程之视图显示图像 Xamarin iOS显示图像 在主视图中显示一个图像,可以让开发者的应用程序变的更有趣,例如,在一些应用程序开始运行时,都会通过图像来显示此应用程序的玩法或者规则等.这不仅可以使用户快速理解此应用程序的相关信息,也减少了开发者对应用软件文字的介绍.显示图像的视图被称为图像视图.以下将主要讲解图像视图的一些功能. Xamarin iOS为视图显示图像 显示图像需要使用到UIImageView类创建的对象. [示例2-10]以下就是如何在主视图中显示图像的

《iOS应用逆向工程》学习笔记(四)iOS程序类型

越狱iOS中最常见的程序有Application, Dynamic Library和Daemon三类. 1.Application 除了传统意义上的App外,越狱iOS平台上还有两种App形式的存在:WeeApp(依附于NotificationCenter的App)和PreferenceBundle(依附于Settings的App),常见于Cydia平台. 普通App的bundle中存放的是可执行程序和所需资源,而framework的bundle中存放的是动态链接库. 主要关注App中的三个部分

ios 获取当前视图第一响应者

Football on Table 题意:一些杆上有人,人有一个宽度,然后现在有一个球射过去,要求出球不会碰到任何人的概率 思路:计算出每根杆的概率,之后累乘,计算杆的概率的时候,可以先把每块人的区间长度再移动过程中会覆盖多少长度累加出来,然后(1?总和/可移动距离)就是不会碰到的概率 代码: #include <stdio.h> #include <string.h> #include <math.h> const double eps = 1e-8; int t,

iOS-设置视图的边框

iOS-设置视图的边框 效果图: 具体代码: //创建视图 UIView * view=[[[UIView alloc]init]autorelease]; view.frame=CGRectMake(0, 0, 270, 250); view.backgroundColor=[UIColor whiteColor]; view.center=self.view.center; [self.view addSubview:view]; //view的边框 CALayer * layer=[vie