UIScrollView的常用属性【UI界面的穿透效果】

什么是UIScrollView

UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容。


(一)UIScrollView的使用方法

  • 将需要展示的内容添加到UIScrollView中。
  • 设置UIScrollView的contentSize属性,告诉UIScrollView所有内容的尺寸,也就是告诉它滚动的范围。
  • 无法滚动检查
    以上步骤即可,如果控件依然无法滚动,检查下面两个属性是否被禁用
    • 1、self.scrollView.scrollEnabled;
    • 2、self.scrollView.userInteractionEnabled
    • 3、没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)

(二)UIScrollView的常用属性

  • @property(nonatomic) CGSize contentSize;
  • @property(nonatomic) CGPoint contentOffset;
  • @property(nonatomic) UIEdgeInsets contentInset;
具体应用
  • @property(nonatomic) CGSize contentSize;
    这个属性用来表示UIScrollView内容的尺寸,滚动范围。
#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *minionView;
//  UIImageView *minionView 添加到 UIScrollView *scrollView
- (IBAction)scroll;
@end

@implementation MJViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 设置scrollView内容的尺寸(滚动的范围),有以下三种常用方式

    // self.scrollView.contentSize = CGSizeMake(<#CGFloat width#>, <#CGFloat height#>);
    // self.scrollView.contentSize = self.minionView.image.size;
    self.scrollView.contentSize = self.minionView.frame.size;
    // 哪个方向不用滚动,哪个方向的CGFloat设置成 0 即可
}
@end

  • @property(nonatomic) CGPoint contentOffset;
    这个属性用来表示UIScrollView滚动的位置
self.scrollView.contentOffset = CGPointMake(<#CGFloat width#>, <#CGFloat height#>);

还可以实现动画效果,有两种方式:

1.调用自身的方法:

CGPoint offset = self.scrollView.contentOffset;
offset.x += 10;
offset.y += 10;
[self.scrollView setContentOffset:offset animat ed:YES];

2.Blocks实现

[UIView animateWithDuration: <#(NSTimeInterval)#> animations:^{
   self.scrollView.contentOffset = CGPointMake(<#CGFloat width#>, <#CGFloat height#>);
}];

  • @property(nonatomic) UIEdgeInsets contentInset;
    这个属性能够在UIScrollView的4周增加额外的滚动区域
self.scrollView.contentInset = UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)

注意

self.scrollView.contentSize // 总体内容的范围(滚动范围)
self.scrollView.frame.size  // 可视范围

上面三个常用的属性有许多尺寸参数,容易混淆,下面这幅图包含了三个属性的所有尺寸参数,帮助理解
这里写图片描述


(三)其他属性

  • @property(nonatomic) BOOL bounces;
    设置UIScrollView是否需要弹簧效果
  • @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
    设置UIScrollView是否能滚动
  • @property(nonatomic) BOOL showsHorizontalScrollIndicator;
    是否显示水平滚动条
  • @property(nonatomic) BOOL showsVerticalScrollIndicator;
    是否显示垂直滚动条

小结

要理解掌握scrollView的三个常用属性,这三个属性的巧妙结合应用可以实现UI界面的 穿透效果
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值