iOS- 编程:UIScrollView的使用方法
来源:互联网 发布:中文域名不允许个人 编辑:程序博客网 时间:2024/05/20 22:35
一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。
UIScrollView *sv = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, 400)];
一般的初始化也都有很多方法,都可以确定组件的Frame,或者一些属性,比如UIButton的初始化可以确定Button的类型。当然,我比较提倡大家用代码来写,这样比较了解整个代码执行的流程,而不是利用IB来弄布局,确实很多人都用IB来布局会省很多时间,但这个因人而异,我比较提倡纯代码写。
(2)滚动属性
UIScrollView的最大属性就是可以滚动,那种效果很好看,其实滚动的效果主要的原理是修改他的坐标,准确的讲是修改原点坐标,而UIScrollView跟其他组件的都一样,有自己的delegate,在.h文件中要继承UIScrollView的delegate然后在.m文件的viewDidLoad设置的delegate为self。如下:
sv.pagingEnabled = YES;
sv.backgroundColor = [UIColor blueColor];
sv.showsVerticalScrollIndicator = NO;
sv.showsHorizontalScrollIndicator = NO;
sv.delegate = self;
CGSize newSize = CGSizeMake(self.view.frame.size.width * 2, self.view.frame.size.height);
[sv setContentSize:newSize];
[self.view addSubview: sv];
在上面的代码中,一定要设置UIScrollView的pagingEnable为YES。不然你就是设置好了其他属性,它还是无法拖动,接下去的分别是设置背景颜色和是否显示水平和竖直拖动条,最后最重要的设置他的ContentSize,ContentSize的意思就是它所有内容的大小,这个和它的Frame是不一样的,只有ContentSize的大小大于ContentSize这样才可以支持拖动。
(3)结合UIPageControl做新闻翻页效果
初始化UIPageControl的方法都很简单,就是上面讲的alloc和init,不过大家要记住的一点就是如果你定义了全局变量一定要在delloc那里释放掉。
UIPageControl有一个userInteractionEnabled你可以设置它为NO。就是点击的时候它不调用任何方法。然后设置它的currentPage 为0,并把它加到view上去。
接下来在UIScrollView的delegate方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
在这里你可以写上关于UIPageControl的页面设置的算法。如下
int index = fabs(scrollView.contentOffset.x) / scrollView.frame.size.width;
pageControl.currentPage = index;
(4)其他的
UIScrollView还支持处理缩放的动作,比如图片的缩小或者地图。
但是必须实现它的委托viewForZoomingInScrollView:
scrollViewDidEndZooming:withView:atScale:然后它的两个属性maximumZoomScale和minimumZoomScale 要不一样。这样就能基本实现图片的缩放了。
- iOS- 编程:UIScrollView的使用方法
- iPhone编程:UIScrollView的使用方法
- iPhone编程:UIScrollView的使用方法
- iOS滚动视图UIScrollView使用方法
- UIScrollView的使用方法
- UIScrollView常见的使用方法
- ios菜鸟之路:uiscrollview和pagecontrol的使用方法
- ios菜鸟之路:uiscrollview和pagecontrol的使用方法
- iOS编程-------UIScrollView / UIPageControl
- iOS界面编程-UIScrollView
- 记录一些UIScrollView的使用方法
- iOS 网络编程 UIScrollView contentsize contentoffset 和contentinset的区别
- iOS: UIScrollView的用法
- iOS UIScrollView的属性
- iOS UIScrollView的contentOffset
- UIScrollView使用方法
- UIScrollView使用方法
- UIScrollView使用方法
- springMVC中Validation介绍
- 项目提交
- idea常用快捷键操作
- Android之Activity(三):活动的生命周期
- JavaMelody应用监控使用指南
- iOS- 编程:UIScrollView的使用方法
- 状态模式(State)
- Masonry布局框架的使用
- android studio添加library
- Google C++ style初次学习
- Masonry介绍与使用实践:快速上手Autolayout
- android线性布局
- Spring注解@Component、@Repository、@Service、@Controller @Resource、@Autowired、@Qualifier 解析
- dubbo-admin