文档章节

UIScrollView

z
 zwl1989
发布于 2016/04/28 13:54
字数 968
阅读 2
收藏 0

1.TableView自带滑动删除功能,只要实现代理的方法tableView:commitEditingStyle:forRowAtIndexPath:方法即可,在方法中做数据的操作,刷新表格就行。

2.刷新表格有两种方法:

  1. tableView:reloadRowsAtIndexPath:该方法使用前提是模型数据与tableView的行数要求一致。
  2. tableView:deleteRowsAtIndexPath:该方法使用前提是模型数据删除的个数和表格删掉的行数要一致。

3.编辑状态只要修改tableview的editing状态就可以,点击减号可以现实删除按钮。

4.UITabBarConroller子控件的声明周期:

  1. 第一个子控件加载完毕,即将显示,显示完毕。
  2. 第二个子控件加载完毕,即将显示,第一个子控件即将消失,第一个子控件消失完毕,第二个子控件显示完毕。

5.程序载入时会执行didFinishLaunchingWithOptions:方法,然后调用applicationDidBecomeActive:,之后如果按Home键进入后台,程序会先调用applicationWillResignActive:,然后执行applicationDidEnterBackground:方法。如果重新进入前台,则会调用applicationWillEnterBackground:方法,之后是applicationDidBecomeActive方法。



UIScrollView 

很多ios的应用软件都会滚动显示单个或多个图片,UIScrollView控件主要就是用来

满足这种需求的,展示一张超出屏幕的图片

 

 UIScorllView控件有三个与显示相关的重要属性:contentSize、contentInset和contentOffSet。

     UIScrollView *scrollView=[[UIScrollView alloc] init];

  UIImageView *imageView=[[UIImageView alloc] initWithImage: [UIImage imageNamed:@"1.jpg"]];

1. 属性contentSize表示UIScrollView中内容视图的大小,返回的是一个CGSize结构体

  类型,该结构体包含width和height两个成员

  scrollView.contentSize imageView.frame.size;

  此时运行程序,可见只能显示图片的一部分,然后选中图片可以任意移动图片,实现

  滚动屏幕的效果。

2. 属性contentInset用于在UIScrollView控件中的内容视图周围添加边距,返回的是一

  个UIEdgeInsets结构体类型,该结构体包含top、left、bottom和right四个成员,表示

  四个边距,这里设置上边距和左边距30个像素,

  scrollView.contentInset UIEdgeInsetsMake(30, 30, 0,0);

  运行程序,滚动图片可见内容视图离上边和左边都有一个空白的边距

3 .属性contentOffSet是内容视图坐标原点和UIScrollView坐标原点的偏移量,可以改

  变显示内容的显示区域,该属性返回一个CGPoint结构体类型

 

 

 其他属性

 设置反弹

 scrollView.bounces NO;

设置滚动条的样式

  [scrollView setIndicatorStyle:UIScrollViewIndicatorStyleBlack];

设置是否显示平行滚动条

  scrollView.showsHorizontalScrollIndicator NO;

设置是否显示垂直滚动条

  lscrollView.showsVerticalScrollIndicator NO;

 

 

三张图片的滑动

- (void)viewDidLoad

{

    [super viewDidLoad];

    UIScrollView *scrollView=[[UIScrollView alloc] init];

    CGRect frame=self.view.frame;

    //设置大小和位置   

     scrollView.frame=frame;

   //加载图片

    UIImage *image1=[UIImage imageNamed:@"1.jpg"];

    UIImage *image2=[UIImage imageNamed:@"2.jpg"];

    UIImage *image3=[UIImage imageNamed:@"3.jpg"];

    self.array=@[image1,image2,image3];    CGSizesize=CGSizeMake(self.array.count*self.view.frame.size.width,self.view.frame.size.height);

    //显示内容大小

    scrollView.contentSize=size;

 

    for(int i=0;i<self.array.count;i++)

       

    {

        UIImageView *imageView=[[UIImageView alloc] initWithImage:self.array[i]];

        imageView.contentMode=UIViewContentModeScaleAspectFit;

      //图片显示的区域       

       imageView.frame=CGRectMake(i*self.view.frame.size.width,0,self.view.frame.size.width, self.view.frame.size.height);

      [scrollView addSubview:imageView];

    }

    scrollView.pagingEnabled=YES;

    [self.view addSubview:scrollView];

}

 

 

 

实现两指缩放功能

1.要遵守<UIScrollViewDelegate>协议

2.方法里面给self.delegate赋值    self.scrollView.delegate = self;

3.实现方法  //那张图片需要缩放

     - (UIView *)viewForZoomingInScrollView:(UIScrollView*)scrollView

    {

     Return self.imageView;

  }

 

  在viewDidLoad里设置可以缩放的比例

   scrollView.minimumZoomScale = 0.1;

   scrollView.maximumZoomScale = 1.0;

 

完整代码:

#import "TRViewController.h"

@interface TRViewController () <UIScrollViewDelegate>

@property (nonatomic, strong)UIImageView *imageView;

@property (nonatomic, strong)UIScrollView *scrollView;

@end

- (void)viewDidLoad

 {

   [super viewDidLoad];

  UIScrollView *scrollView = [[UIScrollViewalloc]init];

   self.scrollView = scrollView;

   //添加显示内容

   UIImageView *imageView=[[UIImageViewalloc]initWithImage:[UIImage imageNamed:@"qwer.jpg"]];

  self.imageView = imageView;

  [self.scrollView  addSubview:imageView];

  self.scrollView.frame = self.view.frame;

  //将self.scrollView添加到父视图

  [self.viewaddSubview:self.scrollView];

  //设置scrollView显示内容的大小

  self.scrollView.contentSize = imageView.frame.size;

   self.scrollView.contentInset = UIEdgeInsetsMake(20, 20,0,0);

  //scrollView的其他属性

   //设置反弹

   self.scrollView.bounces = NO;

   //设置滚动条的样式.

  [self.scrollView  setIndicatorStyle:UIScrollViewIndicatorStyleBlack];

  //设置是否显示平行滚动条

  self.scrollView.showsHorizontalScrollIndicator = NO;

  //设置是否显示垂直滚动条

  self.scrollView.showsVerticalScrollIndicator = NO;

  //给scrollView的委托赋值

  self.scrollView.delegate = self;

  //设置可以缩放的比例

  self.scrollView.minimumZoomScale =0.1

  self.scrollView.maximumZoomScale = 1.0;

}

 //实现方法 那张图片需要缩放

 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

   Return self.imageView;

}

@end


本文转载自:http://blog.csdn.net/zwl492454828/article/details/48293407

共有 人打赏支持
z
粉丝 1
博文 53
码字总数 0
作品 0
西安
私信 提问
iOS开发之UIScrollView代理

想在UIScrollView正在滚动或滚动到某个位置又或者停止滚动时做一些特定的操作,那么就需要监听UIScrollView的整个滚动过程,而当UIScrollView发生一系列的滚动操作时,会自动通知它的代理(d...

shenhuniurou
2016/03/05
52
0
01-UI基础-04-00-UIScrollView

继承关系 1、 基本概念 1.1 什么是UIScrollView 移动设备的屏幕大小是有限的,现在直接展示用户眼前的内容也相当有限 砀山是的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以为的...

口十耳
2016/01/04
10
0
UIScrollView滚动

三大属性: self.scrollView.pageEnabled = NO 是否分页;n只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示 contentSize设...

马尔代夫的沙滩
2016/04/28
25
0
UIUIScrollView滚动视图与UIPageControl

1.UIScrollView概述 UIScrollView是所有滚动视图的基类,其子类有:UITableView,UITextView,父类为UIView,主要用于显示屏 幕显示不下 的图片,相册,文字,滚动条等等 2.UIScrollView常用属性 sc...

tuwangsheng
2014/04/28
0
0
iOS之[UIScrollView属性、代理详解]

1.属性 2.UIScrollViewDelegate 滚动+缩放 ====================================================================== 滑动 减速(decelerating)动画 滑动结束后会有减速过程。注:在 didEnd......

言筱羽
2016/01/05
103
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
6
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
今天
2
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
今天
7
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部