iOS 模仿猿题库拖拽改变控件的高度
2018-04-12 本文已影响154人
LFBoys
看到猿题库题型是可以上拉下拉,方便查看更多内容。
下载地址
实现结果:
通过给控件添加UIPanGestureRecognizer手势
主要实现方法如下:
- (void)dragAction:(UIPanGestureRecognizer *)pan
{
if (pan.state == UIGestureRecognizerStateBegan) {
// 用来保存初始高度
_yyy = CGRectGetMaxY(_topTextView.frame);
}else if (pan.state == UIGestureRecognizerStateChanged) {
CGPoint point = [pan translationInView:self.view];
CGFloaty = point.y+_yyy;
// 底部scrollview最小高度
if(y >kScreenHeight-150.0) {
y =kScreenHeight-150.0;
}
// 顶部scrollview最小高度
if(y <100.0) {
y =100.0;
}
// 根据拖动的位置,计算视图的高度
self.topTextView.frame=CGRectMake(0,0,kScreenWidth, y);
self.dragLabel.frame=CGRectMake(0, y,kScreenWidth,40);
self.bottomScroll.frame = CGRectMake(0, CGRectGetMaxY(self.dragLabel.frame), kScreenWidth, kScreenHeight-y-40);
}else if (pan.state == UIGestureRecognizerStateEnded) {
}
}