ios UICollectionView滑动时操作

点开UICollectionViewDelegate,发现有@protocol UICollectionViewDelegate <UIScrollViewDelegate>。

所以只要实现UIScrollViewDelegate的

- (void)scrollViewDidScroll:(UIScrollView *)scrollView; 方法,就可以重写UICollectionView滑动操作

例如,在UICollection上方有一个名为testImg的ImageView,要跟着UICollection的滑动一起动,那么可以使用下面方法

 1 - (void)scrollViewDidScroll:(UIScrollView *)scrollView
 2 {
 3     CGPoint point=scrollView.contentOffset;
 4     NSLog(@"%f,%f",point.x,point.y);
 5
 6     CGRect frame = [_testImg frame];
 7     frame.origin.y = 43-point.y;
 8     _testImg.frame = frame;
 9
10     frame = [scrollView frame];
11     frame.origin.y = 179-point.y;
12     scrollView.frame = frame;
13 }

需要注意的是,第7行的43和第11行的179分别为testImg和UICollectionView初始的y轴值,不是滑动之前的值。如果使用

控件.origin.y -= point.y;

y值就会快速变小,控件瞬间飞出屏幕

上述代码中,point是滑动之后的偏移量,手指上滑,偏移y为正

时间: 2024-11-02 01:30:45

ios UICollectionView滑动时操作的相关文章

iOS UITableView 滑动时顺序混乱或多个cell内容相同

在使用UITableView时,由于cell的重用机制,在获取后台数据并填充cell时,会发生cell重复出现,界面紊乱.但这仅仅在拥有多个section的情况下会出现,没有滚动的时候,单个section的row显示的都是正确的. 以下是示例代码: -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath //这个方法是UITableView 的 Da

iOS 8:【转】NSURLConnection 在页面滑动时继续执行

源地址:http://fann.im/blog/2013/09/20/nsurlconnection-in-scrolling/ 实际开发中用了 AFN 等是不会遇到这个问题.当然也可以作为原理理解. 首先是 NSRunLoop,我的理解 runloop 就是 iOS 的消息循环处理机制,响应处理各种消息事件.runloop 有不同的执行模式,不同模式下只会响应处理该模式类型的事件.App 运行时会有一个主线程 mainRunLoop,在程序中可以用 [NSRunloop currentRunL

ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.

仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View. 实现原理,UINavigationController 的 self.view显示时把当前显示的view截图下来,保存到一个数组中.当push一个view时把上一个view的截图放到self.view后面,当self.view向右拖动时显示上一个view. NavigationController.m #import "NavigationController.h" @interface

ios UICollectionView 加载数据后 滑动卡顿问题

最近项目的资源图片变大了,滑动时总是卡顿,在这里用NSOperationQueue解决了一下 .h 文件 @interface CollectionViewCell : UICollectionViewCell // 赋值 @property (nonatomic, strong) NearRentListModel *listModel; // 队列 @property (nonatomic, strong) NSOperationQueue *queue; .m 文件 // 懒加载 - (N

opencv学习之路(5)、鼠标和滑动条操作

一.鼠标事件 1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 using namespace cv; 4 using namespace std; 5 6 Mat img(500,500,CV_8UC3,Scalar(255,255,255));//定义成全局变量 7 8 void OnMouse(int event,int x,int y,int flags,void* param){ 9 if(event==CV_EV

Android 实现 IOS相机滑动控件

 IOS相比于Android,动画效果是一方面优势,IOS相机切换时滑动的动画很不错,看着是有一个3D的效果,而且变化感觉很自然.Android也可以通过Graphics下面的Camera可以实现3D效果,开始尝试着用这个做了一下,效果不理想,滑动之后各组文字之间的距离就变了,从立体空间来说这是合逻辑的,但是看着很别捏.IOS相机的滑动效果文字之间的间隔在滑动的时候是不变的. 后面通过调整TextView X方向的scale使文字看着紧凑一点,然后通过计算的距离的方式,在滑动的时候保持各组文字之

iOS UICollectionView与UITableView

共同点:都需要接受两个协议 并执行代理方法 不同点:初始化方法不同  UITableVIew可以用alloc 方法初始化 而UICollectionView必须用下面方法初始化 // 初始化瀑布流 UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; [flowLayout setItemSize:CGSizeMake(150,120)]; //设置每个cell显示数据的宽和高必须

android 代码实现模拟用户点击、滑动等操作

/** * 模拟用户点击 * * @param view 要触发操作的view * @param x 相对于要操作view的左上角x轴偏移量 * @param y 相对于要操作view的左上角y轴偏移量 */private static void analogUserClick(View view, float x, float y) { if (view == null) { return; } LogUtil.e(TAG_POINT, "正在模拟点击操作:p->" + x +

ios 常用字符串的操作

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte