实现图片的滚动,并且自动停止在每张图片上
 
 
- (void)viewDidLoad
{
    [super viewDidLoad];

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 200)];
    
    for (int i=1; i<=8; ++i) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", i]];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(320*(i-1), 0, 320, 200)];
        imageView.image = image;
        [scrollView addSubview:imageView];
    }
    
    scrollView.bounces = NO;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.pagingEnabled = YES;
    scrollView.contentSize = CGSizeMake(320*8, 200);
    [self.view addSubview:scrollView];
    
    
    // Do any additional setup after loading the view.
}

 
 
将图片猩猩假如scrollView 中
 
- (void)viewDidLoad
{
    [super viewDidLoad];
     UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 30, 300, 400)];
     scrollView.backgroundColor = [UIColor orangeColor];
     
     UIImage *image = [UIImage imageNamed:@"1.jpg"];
     UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
     [scrollView addSubview:imageView];
     scrollView.contentSize = CGSizeMake(image.size.width, image.size.height);
     [self.view addSubview:scrollView];
    
    // Do any additional setup after loading the view.
}
 
手势:
 
@interface QFViewController ()<UIGestureRecognizerDelegate]]>
@property (weak, nonatomic) IBOutlet UILabel *myLabel;

@end

@implementation QFViewController{
    CGFloat preScale;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
// 手势
    /*
    UITapGestureRecognizer;//单击
    UIPinchGestureRecognizer;//缩放手势
    UIRotationGestureRecognizer;//旋转手势
    UISwipeGestureRecognizer;//扫动手势(上下左右)
    UIPanGestureRecognizer;//滑动手势
     */
    UIPinchGestureRecognizer *pinchGR=[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(onPinch:)];
    [self.myLabel addGestureRecognizer:pinchGR];
    //label、imageview默认不接受人机交互,要手动设置
    self.myLabel.userInteractionEnabled=YES;
    preScale=1;
}
-(void)onPinch:(UIPinchGestureRecognizer *)pGR{
    NSLog(@"%@",pGR);
    NSLog(@"%f",pGR.scale);
    /*
     UIGestureRecognizerStateBegan,
     UIGestureRecognizerStateChanged,
     UIGestureRecognizerStateEnded,
     */
    if (pGR.state==UIGestureRecognizerStateChanged) {
        self.myLabel.font=[UIFont systemFontOfSize:17*preScale*pGR.scale];
    }
    if (pGR.state==UIGestureRecognizerStateEnded) {
        preScale=preScale*pGR.scale;
    }
    
    
}

@end

 

IOS UI 第八篇:基本UI

IOS UI 第八篇:基本UI的更多相关文章

  1. IOS设计模式第八篇之键值观察模式

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 键值观察模式: 在KVO,一个对象可以要求被通知当他的某个特殊的属性被改变了.自己或者另一个对象.如果你感兴趣你可以阅读更多的信息参考: Apple ...

  2. iOS进阶指南试读之UI篇

    iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功.怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计.所以,想提升UI的功力也很简单,没事就看看UIKit里的各个 ...

  3. 四核驱动的三维导航—淘宝新UI(设计篇)

    前面有一篇博客说到了淘宝UWP的"四核驱动的三维导航—淘宝新UI(需求分析篇)",花了两周的时间实现了这个框架,然后又陆陆续续用了三周的时间完善它. 多窗口导航,与传统的导航方式的 ...

  4. 游戏模块分析总结(2)之UI、操作篇

    转自:http://www.gameres.com/309812.html 游戏模块分析总结(2)之UI.操作篇 发布者: wuye | 发布时间: 2014-12-12 15:03| 评论数: 0 ...

  5. 环信 之 iOS 客户端集成四:集成UI

    在Podfile文件里加入 pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-cocoapods.git' 然后在终端中的 ...

  6. WPF 精修篇 非UI进程后台更新UI进程

    原文:WPF 精修篇 非UI进程后台更新UI进程 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11* ...

  7. iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)   前面我们介绍了StoryBoard这个新技术,和纯技术 ...

  8. 利用手上的UI资源(附免费UI工具包)

    http://www.uisdc.com/how-to-use-ui-kits# 大家都知道,UI工具包里有很多好看的资源:比如按钮.滑块.面包屑.播放器.表单,甚至是一个"赞!" ...

  9. 【译】SQL Server索引进阶第八篇:唯一索引

    原文:[译]SQL Server索引进阶第八篇:唯一索引     索引设计是数据库设计中比较重要的一个环节,对数据库的性能其中至关重要的作用,但是索引的设计却又不是那么容易的事情,性能也不是那么轻易就 ...

随机推荐

  1. HDU1532 Drainage Ditches 【最大流量】

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. 采用Duplicate target database在线恢复秩序oracle datagard图书馆设备

    线上oracle datagard备库由于断电以及误删除从库的归档日志文件,所以导致,备库主库数据不一致,备库须要紧急恢复.以下是大概恢复过程 1,从主库上面备份控制文件[oracle@localho ...

  3. Crazy Rows

    Problem You are given an N x N matrix with 0 and 1 values. You can swap any two adjacent rows of the ...

  4. MyEclipse10.0 集成 SVN

    一:下载服务端和client工具   服务端安装工具:Setup-Subversion-1.6.5.msi client安装工具:TortoiseSVN 下载地址:http://subclipse.t ...

  5. English is very important!

    Well, as a college student,I haven't realized how important the English is . But as a web programmer ...

  6. python_小爬虫

    import urllib.request as request import urllib.parse as parse import string print(""" ...

  7. android 数据共享

    android数据共享的各种部件中的应用是最重要的3途径: 第一.使用Application子类来实现数据共享. 例如,请看下面的例子: /**  * @author YangQuanqing 特征: ...

  8. web实现QQ第三方登录

    开放平台-web实现QQ第三方登录   应用场景     web应用通过QQ登录授权实现第三方登录.   操作步骤     1  注册成为QQ互联平台开发者,http://connect.qq.com ...

  9. HTML的标签canvas

    定义和使用方法 <canvas> 标签定义图形,比方图表和其它图像. <canvas> 标签仅仅是图形容器,您必须使用脚本来绘制图形. 实例 怎样通过 canvas 元素来显示 ...

  10. C++程序中应增加STL、运算和字符串的头文件

    #include <complex> //模板类complex的标准头文件 #include <valarray> //模板类valarray的标准头文件 #include & ...