【画板案例-线宽 Objective-C语言】

2024-06-07 15:44

本文主要是介绍【画板案例-线宽 Objective-C语言】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、接下来,我们来说这个,线宽,

通知

1.示例程序里边,这个slider,是改变线宽的,在最左边的时候,我画一下,

通知

是这种线宽,还是有一定宽度的啊,跟我们这个默认的,不是1像素,

然后,最右边呢,也是有一个宽度的,

通知

然后呢,这个线宽,我就给它,最小值设置成5,最大值设置成30,

来到我的storyboard里,选中这个slider,最小值改成5,最大值改成30,回车,

通知

接下来,我来设置这个线宽,我们改变,拖动这个slider的时候,

通知

它的线宽,也会发生改变,这是第一,所以,我们slider,一定是要监听的,

一定要去监听它,到底滑动的是5,还是滑动的是30,

那接下来呢,我们现在想要在画线的时候,设置线宽,我应该给谁设置,给这个路径去设置,我们说,path里边,有一个叫做setLineWidth:的一个东西,

好,也就是说啊,我每一次,拿到最新的,每一次slider去监听的时候,

通知

然后呢,我应该把最新的值,赋给HMView的某一个属性,然后呢,你每一次设置线宽的时候,直接设置那个属性,是不是应该就可以了,

我们说,self.path里边,有一个叫做setLineWidth:的一个东西,我每一次拿到最新的,我每一次slider去监听的时候,然后呢,我应该把最新的值,赋给HMView的某一个属性,然后呢,你每一次设置线宽的时候,直接设置那个属性,就可以了,

通知

所以我们现在知道啊,我们想要去设置路径,我们要给path去设置,

通知

在我们HMView.h里边,我们抛出来一个属性,

到时候呢,只要slider一改变,5啊,又变到30了,你就把这个属性,给我赋最新的值,

每一次,当我touchBegan:去画线的时候,我就把你最新的这个值,拿过来,设置成线宽,应该就可以了,

通知

2.所以呢,我们在这个HMView“点儿”h里面,我们先来一个,assign啊,

通知

@property(nonatomic,assign)CGFloat lineWidth;

通知

3.好,然后呢,接下来啊,我们在这个ViewController里边,

还要监听它,监听完了以后,在这儿设置啊,

好,我们先来监听,

监听这一块儿,我们直接通过storyboard,把它拖过来,就可以了,

通知

按住control键,把slider,拖到ViewController的实现里边,就可以了,

实现的方法,实际上,就是监听,

好,监听的这个方法,我们来一个lineWidthChange:

通知

Name:lineWidthChange

// 监听线宽改变

- (IBAction)lineWidthChange:(id)sender{

}

通知

好,然后呢,这个id,就是UISlider *

通知

然后,我们会通过sender.value,去拿过来,

去拿过来,你当前设置slider的这个数值,

我只需要把它变成线宽,就可以了,

怎么变成线宽,直接给HMView的这个属性,赋值,就可以了,

4.所以呢,我们现在需要拿到的是HMView,

通知

这一块儿灰色的,也要拿到啊,没有这个对象,我怎么给这个对象赋值,

所以,来一个这个,叫做,hmview,啊,

这篇关于【画板案例-线宽 Objective-C语言】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039603

相关文章

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX