uiscrollview-为什么我自己将UIScrollView 和 UIPageControl 组合的MyView 不能拖拽

问题描述

为什么我自己将UIScrollView 和 UIPageControl 组合的MyView 不能拖拽

我自定义的MyView

  • (instancetype)initWithImageList:(NSArray*) imgArr andFrame:(CGRect) frame
    {
    self = [super init];
    self.userInteractionEnabled = YES;
    if (self) {
    [self createScrollView:imgArr andFrame:frame];
    [self createPageControl:imgArr andFrame:CGRectMake(0, frame.size.height-40, frame.size.width, 30)];//创建pageController并且 设置位置
    }
    return self;
    }

-(void) createScrollView:(NSArray*) imgArr andFrame:(CGRect) frame
{
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
self.scrollView.contentSize = CGSizeMake(frame.size.width*(imgArr.count+2), frame.size.height);//多加2个图片的宽度
self.scrollView.pagingEnabled = YES;
self.scrollView.scrollEnabled = YES;
self.scrollView.userInteractionEnabled = YES;
int count = imgArr.count+1;
for (int i = -1; i < count; i++) {
UIImageView *imgV = [[UIImageView alloc] initWithFrame:CGRectMake(frame.size.width*i, 0, frame.size.width, frame.size.height)];
imgV.userInteractionEnabled = YES;
if(i==-1)
{
imgV.image= [UIImage imageNamed:imgArr[imgArr.count-1]];//增加最后一张图片作为第一个滚动的图片 实现无缝
}
else if (i==imgArr.count)
{
imgV.image= [UIImage imageNamed:imgArr[0]];//增加第一张图片作为最后一个滚动的图片 实现无缝
}
else
{
imgV.image= [UIImage imageNamed:imgArr[i]];
}
[self.scrollView addSubview:imgV];
}

[self addSubview:self.scrollView];

}

-(void) createPageControl:(NSArray*) imgArr andFrame:(CGRect) frame
{
self.pageControl = [[UIPageControl alloc] initWithFrame:frame];
self.pageControl.numberOfPages = imgArr.count;
self.pageControl.currentPage = 0;
[self addSubview:self.pageControl];
}

在UIViewController里面 我是这么写的

  • (void)viewDidLoad {
    [super viewDidLoad];
    NSArray *imgArr = @[@"welcome_01.png",@"welcome_02.png",@"welcome_03.png",@"welcome_04.png"];
    self.scrollView = [[ScrollPageView alloc] initWithImageList:imgArr
    andFrame:
    CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
    [self.view addSubview:self.scrollView];
    // Do any additional setup after loading the view, typically from a nib.
    }

解决方案

是我自己有点呆了 在初始化的时候 没加上 self.frame = frame;

解决方案二:

http://blog.csdn.net/chenyong05314/article/details/8161492

时间: 2024-10-26 14:37:00

uiscrollview-为什么我自己将UIScrollView 和 UIPageControl 组合的MyView 不能拖拽的相关文章

iOS开发之UIScrollView控件详解_IOS

一.UIScrollView控件是什么?     (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限     (2)当展⽰示的内容较多,超出⼀一个屏幕时,⽤用户可通过滚动⼿手势来查看屏幕以外的内容     (3)普通的UIView不具备滚动功能,不能显⽰示过多的内容     (4)UIScrollView是一个能够滚动的视图控件,可以⽤用来展⽰示⼤大量的内容,并且可以通过滚 动查看所有的内容     (5)  举例:手机上的"设置".其他⽰示例程序 二

iOS图片轮播UIScrollView+UIPageControl

该方法实现了图片的轮播效果: pictureLoop 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110

iOS开发UI篇—UIScrollView控件实现图片轮播

一.实现效果 实现图片的自动轮播 二.实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" 2 3 @interface YYViewController () <UIScrollViewDelegate> 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollview; 5 /** 6 * 页码 7 */ 8 @property (weak, nonato

iOS开发中使用UIScrollView实现图片轮播和点击加载_IOS

UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 二.实现代码 storyboard中布局 代码: 复制代码 代码如下: #import "YYViewController.h" @interface YYViewController () <UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *scrollview; /**  *  页码  */ @pro

iOS利用UIScrollView实现无限滚动效果_IOS

前言 众所周知UIScrollView 的无限滚动主要应用在图片轮播器.欢迎界面等场景.它的原理是在要显示的图片前后各加一张图片即在第一张图片之前放最后一张图片,在最后一张图片之后放第一张图片,然后在滚动到边缘的时候,巧妙的过渡一下就可以"瞒天过海","以假乱真"的造成无限滚动的假象.网络上有很多只用三张或两张图片实现的方法,效率比这个方法高,但实现起来稍微麻烦一点,有兴趣的可以去深入研究. 实现步骤       1.根据需求准备几张图片,在网上找了5张图片,分别命

iOS开发中使用UIScrollView实现无限循环的图片浏览器_IOS

一.概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 二.UIView 在熟悉UIScrollView之前很有必要说一下UIView的内容.

UIScrollView 新手教程

本文讲的是UIScrollView 新手教程, Ray的温馨提示:这是本站原先 Objective-C 热门教程的 Swift 升级版.Corinne Krych 将教程升级到了Swift, iOS 9 和 Xcode 7.1.1:原文由教程团队成员 Matt Galloway 编写.阅读愉快! UIScrollView 是 iOS 中最灵活和有用的控件之一.它是十分流行的 UITableView 控件的基础,能够友好地展示超过一屏的内容.在这份 UIScrollView 教程中,通过构建一个类

UIScrollView的属性总结

                        属性                                                            作用 CGPoint contentOffSet                                                  监控目前滚动的位置 CGSize contentSize                                                        滚动范围的大

IOS中UIScrollView的分页与缩放

UIScrollView类为显示内容的视图大小大于应用程序窗口提供支持.它使用户能够在该内容中通过轻 扫手势进行滚动,通过手捏手势放大和缩小视图中的内容. 分页 当取景范围里有多个视 图时,你不希望拖动后界面停在中间连接位置,就需要分页功能 CGRect screenRect = [self.window bounds]; CGRect bigRect = screenRect; bigRect.size.width *= 2.0; //初始化ScrollView UIScrollView *s