UIScrollView的分页滑动(page可以不一个屏幕大小)
2012-04-01 16:56
507 查看
1.首先建一个MySubview.h
#import<UIKit/UIKit.h>
@interface MySubview :UIView{
}
@property (nonatomic,retain)
UIScrollView *receiver;
@end
2.实现MySubview.m
#import"MySubview.h"
@implementation MySubview
@synthesize receiver;
- (void)dealloc {
self.receiver
= nil;
[super dealloc];
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if (point.x>0&&point.x<360.0&&point.y>0.0&&point.y<150.0)
{
UIView* child =nil;
if ((child = [super
hitTest:point withEvent:event]) ==
self){
if (point.x<120) {
for (UIView *v
in self.receiver.subviews) {
if (v.tag==((self.receiver.contentOffset.x/120)+101))
{
return v;
}
}
}elseif(point.x>240){
for (UIView *v
in self.receiver.subviews) {
if (v.tag==((self.receiver.contentOffset.x/120)+103))
{
return v;
}
}
}
returnself.receiver;
}
return child;
}else{
return [super
hitTest:point withEvent:event];
}
}
@end
这里就是可以让显示在屏幕中的scrollview中的button都接受到触摸事件,而不是单纯的scrollview size范围内。
怎么使用呢?
这里是横屏的,所以坐标有些大。
myscrollview=[[UIScrollViewalloc]initWithFrame:CGRectMake(120,0,
120, 175)];
myscrollview.backgroundColor=[UIColorclearColor];
myscrollview.contentSize=CGSizeMake(720,175);
myscrollview.clipsToBounds=NO;//可以不受size限制
mysub=[[MySubview alloc]initWithFrame:CGRectMake(30,90,360,
175)];
mysub.clipsToBounds=YES;
mysub.backgroundColor=[UIColor clearColor];
[listbackview addSubview:mysub];
mysub.userInteractionEnabled=YES;
mysub.receiver=myscrollview;
这时候,就可以向scrollview上添加button了~~
#import<UIKit/UIKit.h>
@interface MySubview :UIView{
}
@property (nonatomic,retain)
UIScrollView *receiver;
@end
2.实现MySubview.m
#import"MySubview.h"
@implementation MySubview
@synthesize receiver;
- (void)dealloc {
self.receiver
= nil;
[super dealloc];
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if (point.x>0&&point.x<360.0&&point.y>0.0&&point.y<150.0)
{
UIView* child =nil;
if ((child = [super
hitTest:point withEvent:event]) ==
self){
if (point.x<120) {
for (UIView *v
in self.receiver.subviews) {
if (v.tag==((self.receiver.contentOffset.x/120)+101))
{
return v;
}
}
}elseif(point.x>240){
for (UIView *v
in self.receiver.subviews) {
if (v.tag==((self.receiver.contentOffset.x/120)+103))
{
return v;
}
}
}
returnself.receiver;
}
return child;
}else{
return [super
hitTest:point withEvent:event];
}
}
@end
这里就是可以让显示在屏幕中的scrollview中的button都接受到触摸事件,而不是单纯的scrollview size范围内。
怎么使用呢?
这里是横屏的,所以坐标有些大。
myscrollview=[[UIScrollViewalloc]initWithFrame:CGRectMake(120,0,
120, 175)];
myscrollview.backgroundColor=[UIColorclearColor];
myscrollview.contentSize=CGSizeMake(720,175);
myscrollview.clipsToBounds=NO;//可以不受size限制
mysub=[[MySubview alloc]initWithFrame:CGRectMake(30,90,360,
175)];
mysub.clipsToBounds=YES;
mysub.backgroundColor=[UIColor clearColor];
[listbackview addSubview:mysub];
mysub.userInteractionEnabled=YES;
mysub.receiver=myscrollview;
这时候,就可以向scrollview上添加button了~~
相关文章推荐
- 使用VideoView播放视频,锁屏暂停播放之后,过一会自动播放,而且可以通过滑动屏幕调节音量。。。
- 解决ScrollView嵌套RexyclerView导致6.0以上手机ScrollView和RecyclerView可以同时滑动问题,5.1手机滑动卡顿问题(解决一个另一个又出现)
- 滑动文本标签,一个类解决广告轮播 UIScrollView
- 制作一个可以滑动操作的 Table View Cell
- 一个可以左右滑动分页显示的例子(并带有页面图标指示)
- UIScrollview自定义分页大小
- UIScrollView的PageEnable可以实现slider
- 防QQ可以在任何地方横向滑动的一个view
- 使用UIScrollView和UIPageControl做一个可以用手势来切换图片的效果
- Qt qml pageview 左右滑动分页组件
- ViewPager 结合Fragment实现一个Activity里包含多个可滑动的标签页,每个标签页可以有独立的布局及响应。
- 制作一个可以滑动操作的 Table View Cell
- 制作一个可以滑动操作的 Table View Cell
- UIScrollView实现自定义分页的大小
- 自己动手实现一个可垂直滑动的ViewGroup,相当于可以垂直滑动的viewpager
- 制作一个可以滑动操作的 Table View Cell
- UIscrollview和UItableView结合使用(就是cell可以滑动改变图片)
- 一个可以全屏滑动的View
- ViewPager的一个应用,用fragment来当页面,可以左右滑动,上面有一条线,来分隔