关闭

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

标签: ios7队列线程滚动条
1439人阅读 评论(1) 收藏 举报
分类:

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;


0
0
查看评论

深入浅出Windows 10 通用应用开发学习笔记(C++) 3-1

为了防止自己忘记,特意开了CSDN做笔记。 最近电脑升级到了Windows 10 买了深入浅出:Windows10 通用应用开发 ,由于本人一般习惯用C和C++进行开发,而该书大部分代码为C#的,虽说都能看懂使用,但是开发的时候还是想基于C++进行。因此在学习时用C++来重新实现,进行练习。 ...
  • Liberty_S97
  • Liberty_S97
  • 2016-01-26 14:44
  • 333

在CVIEW视图中添加滚动条

 这两天做了一个东西,其中对MFC的知识有认识了一些。下面就是如何将CVIEW视图类添加滚动条:  (1)将所有用到CView的地方替换为CScrollView     (2)在VIEW类的头文件中的     //{{A...
  • yanghao58686763
  • yanghao58686763
  • 2007-10-13 22:18
  • 3184

vc学习(二)为视图窗口添加滚动条

修改继承基类 1.首先要确定Document的大小,比如400×450.可以将其大小存储在Document类中,也可以直接去设置   2.在代码中把public:C××View:CView中的CView改为CScrollView,以及消息...
  • mb1124314
  • mb1124314
  • 2012-02-14 15:27
  • 5996

为视图窗口添加滚动条

 修改继承基类 1.首先要确定Document的大小,比如400×450.可以将其大小存储在Document类中,也可以直接去设置   2.在代码中把public:C××View:CView中的CView改为CScrollView,...
  • drmcty
  • drmcty
  • 2014-03-10 22:04
  • 4200

QT修改默认的滚动条样式

这几天写一个类似于悬浮窗的小程序,可是qt自带的滚动条实在难看,经过多番查找终于找到一个类似于qq聊天窗口的滚动条,废话不说上代码。希望能帮到大家verticalScrollBar()->setStyleSheet("QScrollBar:vertical" ...
  • ganshougudu8
  • ganshougudu8
  • 2014-01-02 15:52
  • 878

iOS7应用开发3、Objective-C

...
  • shaqoneal
  • shaqoneal
  • 2013-11-10 16:05
  • 1575

[原创]MFC分割窗口后如何去掉子窗口滚动条

原址:http://hi.baidu.com/kuliuheng/blog/item/d5cecd1cd8388d1834fa4145.html 这是一个困扰了我很久的问题,也许我是因为我没有认真的去想这个问题吧——当分割了单文档窗口之后,改变左子窗口大小总会出现一个滚动条,甚是奇怪! ...
  • vlily
  • vlily
  • 2012-04-23 10:12
  • 4979

iOS 10应用开发基础教程

iOS 10应用开发基础教程
  • u014621518
  • u014621518
  • 2015-09-16 10:29
  • 1298

js获取浏览器,网页视图,设备,滚动条卷上去的内容高宽

var a=window.screen.availHeight;//屏幕可用工作区高度    //获取浏览器窗口内容的尺寸 FF/CH 支持,获取窗口尺寸。   window.innerHeight  // FF/CH 支持,获取窗口尺寸。   d...
  • Nikita_jg
  • Nikita_jg
  • 2017-07-29 15:37
  • 174

MFC中把viewl类的基类由CView转换成CScrollView,使用滚动条的方法

VC中已建立了一个view视图,如何改为scroll view视图     第一步:     把你的XXXView.h中CXXXView的基类换成CScrollView     第二步 ...
  • IvanLJF
  • IvanLJF
  • 2013-08-25 16:34
  • 1571
    个人资料
    • 访问:337473次
    • 积分:5262
    • 等级:
    • 排名:第6174名
    • 原创:177篇
    • 转载:6篇
    • 译文:1篇
    • 评论:97条
    博客专栏
    最新评论