iOS7应用开发10:blocks、多线程、滚动条视图

简介: 1、关于多线程: 线程的概念,可以参考《操作系统》中“进程与线程”等部分的解释,同ios中线程的概念应大同小异。 队列(queue):可看做是blocks等待被某个线程执行的等候区;同线程类似,队列也存在主队列(main queue)用于处理交互方面的操作;其他队列可按需创建以完成某项特定工作。

1、关于多线程:

线程的概念,可以参考《操作系统》中“进程与线程”等部分的解释,同ios中线程的概念应大同小异。

队列(queue):可看做是blocks等待被某个线程执行的等候区;同线程类似,队列也存在主队列(main queue)用于处理交互方面的操作;其他队列可按需创建以完成某项特定工作。

如何执行另一个队列中的block,参考如下C语言代码:

dispatch_queue_t queue = ...;
dispatch_async(queue,^{});
要注意的一点是,只有在主队列空闲的时候,才可以执行其他队列中的block;

如何获取主队列,参考下列代码:

dispatch_queue_t mainQ = dispatch_get_main_queue();
NSOperationQueue *mainQ = [NSOperationQueue mainQueue];//OC的API
如何创建工作线程:

dispatch_queue_t otherQ = dispatch_queue_create("name",NULL);
如何执行主线程中的方法:

- (void) performSelectorOnMainThread:(SEL) aMethod withObject:(id)obj waitUntilDone:(BOOL)waitUntilDone;
dispatch_async(dispatch_get_main_queue(),^{aMethod();});


2、滚动条视图UIScrollView

像滚动条视图添加子视图的方法:

scrollView.contentSize = CGSizeMake(3000,2000);//定义滚动条视图的内容范围;
subView1.frame = CGRectMake(2700,100,120,180);//定义第一个子视图;
subView2.frame = CGRectMake(50,100,2500,1600);//定义超大的第二个子视图;
//向父视图添加子视图:
[view addSubView:subview1];
[view addSubView:subview2];
本质上讲,同向普通父视图添加子视图并无太大区别。由于视图的实际范围远超过屏幕的显示区域大小,因此滚动条视图的作用相当于在视图上的一个滑动显示的窗口。

获取当前可视区域的位置:scrollview.contentOffset;//以content视图的坐标系为准;

滚动条视图的缩放:改变视图的transform属性;需要设置视图的minimumZoomScale和maximumZoomScale,并需要以下代理方法指定缩放的视图:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)sender;


目录
相关文章
|
搜索推荐 数据管理 定位技术
iOS应用开发中有多种主流框架
iOS应用开发中有多种主流框架
848 60
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
457 3
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
人工智能 vr&ar 数据安全/隐私保护
探索iOS应用开发的新趋势
在数字时代的浪潮中,iOS应用开发领域正经历着翻天覆地的变化。从增强现实(AR)的融入,到人工智能(AI)的广泛应用,再到隐私保护的重视,这些新趋势不仅重新定义了用户体验,也为开发者带来了前所未有的挑战与机遇。本文将深入探讨这些变化如何影响着iOS应用的开发,以及开发者如何利用这些新技术创造出更加智能、安全且引人入胜的应用。
|
开发框架 前端开发 Android开发
探索安卓和iOS应用开发中的跨平台解决方案
【10月更文挑战第42天】在移动应用开发的广阔天地中,安卓和iOS系统如同两座巍峨的山峰,分别占据着半壁江山。开发者们在这两座山峰之间穿梭,努力寻找一种既能节省资源又能提高效率的跨平台开发方案。本文将带你走进跨平台开发的世界,探讨各种解决方案的优势与局限,并分享一些实用的代码示例,助你在应用开发的道路上更加游刃有余。
|
Android开发 Swift iOS开发
探索iOS与安卓应用开发的差异性
探索iOS与安卓应用开发的差异性
280 2
|
API Android开发 iOS开发
掌握安卓与iOS应用开发中的依赖注入技术
本文探讨了在安卓和iOS应用开发中,如何有效利用依赖注入技术来提升代码的模块化、可测试性和可维护性。通过对比分析两种平台下依赖注入的实现方式与工具,本文旨在为开发者提供一套清晰、实用的依赖管理策略,助力打造高质量软件产品。
|
Java Android开发 Swift
掌握安卓与iOS应用开发:技术比较与选择指南
在移动应用开发领域,谷歌的安卓和苹果的iOS系统无疑是两大巨头。它们不仅塑造了智能手机市场,还影响了开发者的日常决策。本文深入探讨了安卓与iOS平台的技术差异、开发环境及工具、以及市场表现和用户基础。通过对比分析,旨在为开发者提供实用的指导,帮助他们根据项目需求、预算限制和性能要求,做出最合适的平台选择。无论是追求高度定制的用户体验,还是期望快速进入市场,本文都将为您的开发旅程提供有价值的见解。

热门文章

最新文章

下一篇
开通oss服务