像 FB 封面照片一样在 UIImageView 上调整图像
Posted
技术标签:
【中文标题】像 FB 封面照片一样在 UIImageView 上调整图像【英文标题】:Image adjust on UIImageView like FB cover photo 【发布时间】:2016-06-03 03:19:47 【问题描述】:要求:
我想用封面照片注册用户。所以我想像 Facebook 一样封面照片。
我的问题:
2) 当我在封面照片上设置图像时,它会自行拉伸,不应拉伸..
3) 用户应该能够通过滚动或手势进行调整。
请帮帮我..
【问题讨论】:
将UIImageView
属性更改为 AspectFit 或 AspectFill
【参考方案1】:
实现它的最佳方法是:
第 1 步:将您的 Imageview 放在与 ImageView 相同框架的一个视图中。
第 2 步:设置图像内容模式和 userInteractionEnabled
YourImageView.contentMode=UIViewContentModeScaleAspectFill;
YourImageView.userInteractionEnabled=YES;
第 3 步:声明平移手势
@property (strong, nonatomic) UIPanGestureRecognizer *panGesture;
第 4 步:定义 PanGesture 并指定 YourImageview。
self.panGesture=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panGestureComplete:)];
[YourImageView addGestureRecognizer:self.panGesture];
(更新) 第 5 步:添加以下方法..
-(void)panGestureComplete : (UIPanGestureRecognizer *)parameter
if (parameter.state != UIGestureRecognizerStateEnded && parameter.state != UIGestureRecognizerStateFailed)
CGPoint point=[parameter locationInView:parameter.view.superview];
// _ViewContainer is the View in which image lies..
if ( CGRectContainsPoint(_ViewContainer.bounds, point) )
// Point lies inside the your view Container bounds.
CGPoint pntTemp=_imgView.center;
pntTemp.y=point.y;
parameter.view.center=pntTemp;
你已经完成了.. 希望这会有所帮助.. :)
【讨论】:
@KamleshShinarakhiya 你能告诉它什么时候工作不顺利吗? 当图片在imageview上向上移动时,我想再次向下移动图片,它卡在以前的位置。 这是因为您的 Imageview 完全进入其容器视图。 & 所以它不能接受这个手势..... @KamleshShinarakhiya 更新了我的答案,将拖动限制在界限内......试试吧.. 谢谢!现在我可以上下移动图片,但不能查看全图,这意味着我只能上下移动半张图片。以上是关于像 FB 封面照片一样在 UIImageView 上调整图像的主要内容,如果未能解决你的问题,请参考以下文章