学习笔记-斯坦福iOS7-第十课:多线程,滚动视图

斯坦福 iOS7应用开发 shutterbug 斯坦福 iOS7应用开发视频第11课的shutterbug 立即下载
1.Multithreading
a.得到主队列

dispatch_queue_t main = dispatch_get_main_queue();   

or

NSOperationQueue *main = [NSOperationQueue mainQueue];


b.创建一个队列(非主队列)

dispatch_queue_t other = dispatch_queue_create("name", NULL);


c.切换到主线程
- (void)performSelectorOnMainThread:(SEL)aMethod
withObject:(id)obj

    waitUntilDone:(BOOL)waitUntilDone;   

or

dipatch_async(dispatch_get_main_queue(), ^{ });


2. UIScrollView
a. 创建
scrollView.frame = CGRectMake(0,0,300,400);
scrollView.contentSize = CGSizeMake(500,1000);
subView.frame = CGRectMake(0,0,500,1000);
[scrollView addSubview:subView];
[self.view addSubview:scrollView];

b. 当前显示区域
CGPoint point = scrollView.contentOffset;
CGRect visibleRect = [scrollView convertRect:scrollView.bounds toView:subView];

c. 滚动到某个区域
- (void)scrollRectToVisible:(CGRect)aRect animated:(BOOL)animated;

d. 缩放
minimumZoomScale ,maxmumZoomScale 最小最大缩放比例
需实现委托: - (UIView*)viewForZoomingInScrollView:(UIScrollView*)sender;
返回需要缩放的视图;否则缩放无效的。

代码实现:
- (void)setZoomScale:(float)scale animated:(BOOL)animated;
- (void)zoomToRect:(CGRect)zoomRect animated:(BOOL)animated;

e. 各种委托,自己看文档


3. demo
a. 创建ImageViewController,实现imageUrl属性,调用者传url,内部读取到这个url,下载图片,加载显示;
b. 点击不同按钮,调用ImageViewController,传不同url,功能实现,但是卡,并且图片显示不全;
c. 添加ScrollView,实现缩放,可以显示任何大小图片;
d. 实现多线程下载图片,解决卡的问题;

e. 添加activityIndicator控件,提高用户体验;



斯坦福大学公开课:iOS 7应用开发-18集全部代码 斯坦福大学公开课:iOS 7应用开发 本课程共18集 翻译完 欢迎学习 课程介绍 最新更新课程,适用于iOS7。本课程介绍了使用Xcode5建造iPhone平台上的应用程序所需的工具和应用程序接口;使用多点触控技术,为手机等终端设计用户互交界面等技术进行面向对象的设计。其他主题包括:内核动画、bonjour网络、移动终端电量管理和性能测评。 立即下载

相关推荐

LAMMPS GCMC模拟保姆级教程:从fix gcmc命令到吸附等温线实战

本文提供LAMMPS GCMC模拟的详细教程,从fix gcmc命令设置到吸附等温线实战,涵盖巨正则蒙特卡洛模拟的全流程。通过MOF-5吸附甲烷的案例,指导用户构建模拟体系、转换化学势与压力、定义GCMC区域,并绘制出版级吸附等温线,助力材料科学研究。

weixin_33724046的博客 603

斯坦福大学-IOS7应用开发总结

Lecture 4 1. 如果某个文本内容的字体需要根据用户的设置来调整大小的话,我们可以选用如下方法来设置该文本的字体: [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; //而不是如下固定的使用系统字体 [UIFont systemFontOfSize:12]; 2. 使用UIFontDescriptor类来为...

weixin_30825199的博客 168

【PowerHarmony】电鸿蒙学习记录-准备工作

将获取的“PowerHarmony_PHM_SDK_V1.0.1.0.tar.gz”进行解压。将获取的“code_1.91.1-1720564633_amd64.deb”进行解压。打开后可见所有文件夹,即可进行编辑开发,VSCode也可打开终端进行编译等调试。选择主控类型,我是用的是gd32f470,我选gd32f4xx。Open Folder路径选中SDK解压后根目录即可。选择对应系统类型,我的是小型的,我选mini。选好后即完成工程创建。

Allenzhu的博客 2728

学习笔记-斯坦福iOS7-第十四课:UIApplication和MapKit

一. UIApplication 1. UIApplication *myApp = [UIApplication sharedApplication]; 2. Network Activity Indicator UIApplication 的属性:newWorkActivityIndicatorVisible; 二. 开始demo了。。。 三. Core Locati

sharpyl的专栏 312

Vue3 + OpenLayers 开发指南(一) - 环境搭建与基础配置

本文详细介绍了如何从零开始搭建Vue3与OpenLayers的集成开发环境。通过项目初始化、核心依赖安装、目录结构规划及基础配置,手把手引导开发者创建一个结构清晰、可维护的现代化WebGIS应用骨架,为后续添加地图图层和交互功能奠定坚实基础。

weixin_28049429的博客 339

U8备份提示“远程组件初始化失败”

问题现象: SQL出现问题后重装,U8没有重装,之后直接附加数据库,U8可以正常登陆,但是在备份的时候提示远程组件初始化失败。 问题原因: 因为重装了SQL,没有进行U8数据源初始化,导致Master库中丢失了存储过程储 解决办法:在Master库重建存储过程 USE [master] GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[U8FileServerExtendProc] @cmdLi.

SamYux 2472

[视频教程][斯坦福大学公开课:ios7应用开发 18集]

[@2015-3-1] 记录一下自己的脚印:啊哈哈哈,找的就是它了[视频教程][斯坦福大学公开课:ios7应用开发 18集],要的赶紧吧,不晓得分享人有没有取消分享。。。下载地址:http://www.xiaomengku.com/topic?id=155这里还有跟“电子图书”相关的其它分享,...

chht2015的博客 319

【移远EG800K-CN】从AT指令到MQTT实战:4G模块云端通信全解析

本文详细解析移远EG800K-CN 4G模块的AT指令应用与MQTT云端通信实战。从硬件连接到网络配置,再到MQTT协议的数据上报与命令接收,提供了完整的物联网通信解决方案,帮助开发者快速实现设备与云端的稳定数据交互。

o1p2q3r的博客 559

IOS学习计划

2014.11~2015.01:oc语法学习;  2015.01~ ?:《斯坦福大学公开课:iOS 7应用开发》课程学习:  [第1集] 课务、iOS概述  [第2集] Xcode 5  [第3集] Objective-C  [第4集] 框架和带属性字符串  [第5集] 视图控制器生命周期  [第6集] 控制器多态性、导航控制器、选项卡栏控制器  [第7集] 视图、绘制、手势识别

iosDevrZhong的专栏 435

STM32F103 串口DMA + 空闲中断 实现不定长数据收发

文章目录1. 空闲中断1.1 uart_dma.c1.2 uart_dma.h1.3 main.c1.4 stm32f10x_it.c1.5 效果演示1.6 知识补充1.6.1 外设的基地址     DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU

夏夜晚风_的博客 3万+

Unity 如何使用命令模式

命令模式 游戏中,当你想通过一种通用的方式来存储命令并能够撤消命令时,那么命令模式最有用。 在“示例”中,你将看到一个可以通过GUI按钮移动的简单点。 采取行动后,您可以撤消并重做。我在屏幕上添加了一个简单的OnGUI标签输出,因此您可以看到命令列表,并指出哪个是当前命令。 在此示例中使用了4个类: Command-这是任何命令模式都可以继承的基本结构(抽象类)。您可以在任何项目中使用此类。 MoveCommand-这是从Command类继承的结构,将使用Execute和UnExecute(撤消)。每个移

TxNet 1555

斯坦福iOS7公开课10笔记及演示Demo

这一节主要介绍了多线程中的串行队列以及滚动视图UIScrollView。 1 .多线程 这一节只是简单介绍了多线程的串行队列,即把任务加入线程队列后按顺序逐步执行。 (1)目前iOS多线程提供的方法主要是GCD和NSOperation,前者是C语言级别的,后者是经过封装,更具有面向对象特性的API。 (2)UI交互操作都是在主线程进行,所以为了保证交互过...

weixin_30344131的博客 98

GEE:基于自定义的年度时序数据集进行LandTrendr变化检测

本文介绍了使用年度时序数据进行LandTrendr变化检测的方法,包括核心函数调用、参数设置和结果可视化。通过筛选参数(年份、变化幅度和持续时间)对结果进行过滤,输出变化年份、变化幅度和持续时间。代码提供了完整的处理流程,包括数据输入、LandTrendr算法运行、结果筛选与可视化,并支持结果导出。适用于基于Google Earth Engine平台的地表变化检测分析。

养乐多的博客 752

学习笔记 - 实现从pc到iPhone的文件传输和视频播放功能

在学习CocoaHTTPServer 开源库时,发现其很是强大,甚是方便!学习中决定同时来写一个demo,加深对该库的理解。 功能大概如下: 1. iPhone 端创建一个HTTPServer,并把ip和端口号显示出来; 2. pc端通过网页形式输入ip和端口号,便会显示选择文件的网页; 3. pc端选择文件或视频后,iPhone端会在不同页面上显示所有文件,和视频文件;

sharpyl的专栏 2365

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

学习笔记- AVFoundation Programming Guide - Still and Video Media Capture

管理相机或麦克风等设备捕捉音视频,生成对象来表示输入输出,并且用 AVCaptureSession 对象来协调他们之间的数据流。需要用到下面几个类: . AVCaptureDevice 实例,表示输入设备。如:相机或麦克风; . AVCaptureInput 子类的实例,配置输入设备的端口; . AVCaptureOutput子类的实例,管理到视频文件或静态图的输出; . AVCaptur

sharpyl的专栏 1330

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

学习笔记- AVFoundation Programming Guide - Playback

Playback 控制assets的播放,你可以使用AVPlayer对象。在播放的过程中,你可以使用AVPlayerItem对象来管理asset的呈现,AVPlayerItemTrack来管理track的呈现状态。要显示视频,需要使用AVPlayerLayer对象。 1. Playing Assets 一个播放器就是控制asset播放的对象,比如开始和结束,seek到指定的时间。可以

sharpyl的专栏 1316

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

学习笔记:Effective Objective-C

《Effective C++》 是一本非常经典的C++书籍,看到《Effective Objective-C 2.0  编写高质量iOS与OS X代码的52个有效方法》时,很激动,想必一定也很不错,开始阅读。

sharpyl的专栏 930

学习笔记- AVFoundation Programming Guide - Editing

Editing AVFoundation 提供了功能丰富的类方便编辑音视频assets。AVFoundation的编辑API的关键在于compositions。compositions简单的吧一个或多个不同媒体的assets集合到一起。 AVMutableComposition 类提供了插入和删除tracks的接口,以及管理他们的时间排序。 AVMutableAudioMix 类可以在com

sharpyl的专栏 782

学习笔记- AVFoundation Programming Guide - 概括

关于 AVFoundation 1. AVAsset  表示一个或多个媒体数据(音频或视频),能提供媒体的信息(标题,时间,等待),AVAsset不依赖特定数据格式,通过媒体文件的URL即可创建。 AVAsset或track被初始化后,并不意味着马上就准备好,可能需要一些时间来计算文件的持续时间。所以需要定义一个块,通过异步回调返回状态。 2. Playback AVFo

sharpyl的专栏 658

学习笔记-斯坦福iOS7-第十五课:MapKit和嵌入Segue

一. MKMapView 1. MKAnnotationView : 包括坐标,标题,子标题,左侧图片,右侧按钮 2. 使用大头针,需要实现MKAnnotation 协议, 3. 添加大头针方法: -(void)addAnnotation:(id)annotation; -(void)addAnnotations:(NSArray*)annotations; -(void)remove

sharpyl的专栏 645

学习笔记-斯坦福iOS7-第十七课:摄像头、Core Motion、Application Stat

一. UIIMagePickerController 1. 检测是否可用  +(BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType; //sourceType:UIImagePickerControllerSourceTypePhotoLibrary/Camera/SavedPhotosAlbum

sharpyl的专栏 479

学习笔记-斯坦福iOS7-第七课:视图,绘制,手势识别

第七课 视图,绘制,手势识别 1. Views a. 初始化 . awakeFromNib :从storyboard来的UIView,不会调用initWithFrame; . initWithFrame :代码调用 b. 坐标,单位点,非像素 @property CGFloat contentScaleFactor; // 返回每个点的像素数,Retina返回2,非Retina

sharpyl的专栏 474

学习笔记- AVFoundation Programming Guide - Using Assets

Using Assets Assets 能来自一个文件或者来自用户iPos库或照片库的多媒体文件。当你创建一个asset 对象时,所有你可能要检索的信息不是立即可用的。 一旦你有了一个视频asset,你可以提取静态图像,转换成另一种格式,或内容裁减。 1. Creating an Asset Object 通过URL创建asset,可以试用AVURLAsset。创建asset最简单

sharpyl的专栏 456

学习笔记-斯坦福iOS7-第十一课:表格视图和iPad

一. UITableVIew 1. storyboard 中拖入一个TableViewController,可对Cell进行style定义,或custom; 记住一定设置Cell 的 identifier,代码里提供UITableViewCell数据源时用到的唯一值。 2. protocols :dataSource and delegate; a. dataSource 主要包括3

sharpyl的专栏 441

学习笔记-斯坦福iOS7-第八课:协议,block,动画

1. Protocols a. 语法:id obj; b. 协议中的方法默认必须实现,@optional 后为可选的,@required 后为必选的; c. 协议中可以声明属性,类中也需实现; d. 协议A上还有协议B,那么要想实现协议A,也要实现协议B中必选方法; e. @protocol NSObject, NSObject累实现了NSObject协议的方法; f. iOS中协议主

sharpyl的专栏 438
上一篇: 学习笔记-斯坦福iOS7-第九课:动画,自动布局
下一篇: 学习笔记-斯坦福iOS7-第十一课:表格视图和iPad
直隶码农
博客等级 码龄19年 95粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值