Tag: 缩放

带有touchesMoved的UIScrollView不被调用

我有一个包含UIImageView的UIScrollView。 UIScrollView允许通过UIImageView缩放和平移。 问题是,我想每次都知道手指的动作,而我正在试着用touchesMoved方法来捕捉事件。 但它不工作,尽pipetouchesBegan和touchesEnded被调用正确。 实际上,如果手指运动非常小,则调用touchesMoved,并且UIScrollView不会开始平移。 在UIScrollView开始移动的时刻,事件停止被调用。 有人知道有什么问题,以及如何解决这个问题? 我以为也许里面的UIImageView捕捉事件或类似的东西。

使用iOS 6.0 SDK并为iOS 5构build目标导致UIScrollView setMinimumZoomScale在iOS 5模拟器上运行时失败

我升级到Xcode 4.5,并开始使用iOS SDK 6.0: 我有一个与Xcode 4.4和iOS SDK 5.1开发的通用应用程序 它已经在所有的设备和模拟器上运行,没有任何毛刺。 希望能继续在iPhone 5上工作,我想提供适当的启动图像,让它运行。 该应用程序的许多部分工作没有变化,但其中的一部分不:我放在UIScrollView中的图像不能平移。 这一直以前工作,但不是在iOS 6模拟器。 但问题的真正症结所在:当我去iOS 5.0或iOS 5.1模拟器上运行时,在我的debugging日志中,我看到一个抛出的exception,如下所示: -[NSKeyValueMethodSetter setMaximumNumberOfTouches:]: unrecognized selector sent to instance 0x6ddab20 堆栈爬网显示试图进行此调用的代码是UIScrollView setMinimumZoomScale 。 我的代码来调用setMimimumZoomScale如下: CGFloat widthScale = self.scrollView.bounds.size.width / self.image.size.width; CGFloat heightScale = self.scrollView.bounds.size.height / self.image.size.height; // just reset the zoom scales; leave center and everything else where possible self.scrollView.minimumZoomScale […]

限制在iOS中使用缩放手势缩放图像的最大比例

目前我可以通过使用苹果公司提供的捏手势识别器来进行图像缩放,但是如何限制图像的最大比例? 我一直在使用Apple的SimpleGestureRecognizers示例 ,它将scale设置为1,并且使得缩放图像变得非常容易,但是当我将其移除时,它会突然跳跃,这并不好。 但是自从它一直被设定为1以来,很难追踪这个规模。 先谢谢你。

CGAffine转换并缩放到图像的中心

我开始使用Rory Lewis书中的绝对初学者的iPhone和iPad应用程序来学习Objective-C,但是我陷入了第5章。 我想制作缩小图像的button。 我的问题是,在我写完所有代码后,图像缩小到UIImageView(左上angular)的点(0,0),而在video中图像收缩到中心。 我做了一些研究,发现CGAffineTransform使用对象的中心来进行翻译,旋转等。 那么为什么它不起作用呢? 我有最新的Xcode版本,并没有做任何奇怪的事情。 我希望我已经清楚。 对不起我的英语不好。 编辑对不起,但我从我的手机写的问题。 无论如何,有罪的部分是这样的 – (IBAction)shrink:(id)sender { if(hasShrink == NO){ [shrinkButton setTitle:@"Grow" forState:UIControlStateNormal]; } else if(hasShrink == YES){ [shrinkButton setTitle:@"Shrink" forState:UIControlStateNormal]; } [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.0]; myIcon.transform = CGAffineTransformMakeScale(.25, .25); hasShrink = YES; [UIView commitAnimations]; } 所有的animation都是正确的书面和应用程序的工作,它只是缩小到左上angular。 为什么这个点在默认情况下不会被设置为UIImageView的中心? 编辑:我想通了这是由AutoLayout引起的问题。 一旦停用,一切顺利;)

三重嵌套的UIScrollView分页问题

背景故事 我有一个iPad应用程序,需要允许用户浏览图像组。 每个组都被放置在自己的垂直UIScrollView(分页),所以用户可以上下滑动来查看每个图像。 每个组UIScrollViews被放置在一个单一的(只有一个存在于应用程序中)外部水平UIScrollView(也分页)。 这很好….我可以上下滑动来查看组中的图像,并左右滑动以转到下一个或上一个组。 问题 当我需要为每个图像添加缩放时,问题就开始了。 我通过将每个图像放置在自己的UIScrollView中完成了这个任务。 当图像放大时,我可以平移图像,当我到达缩放图像的顶部或底部时,组的垂直UIScrollView页面按预期显示到下一个或上一个图像。 不幸的是,当图像放大时,外部水平滚动视图将不会翻页到下一组,并且我平移到最左边或最右边。 有没有比三重嵌套UIScrollViews更好(更正确)的方法,或者我可以以某种方式向前触摸外部水平滚动视图? 任何帮助或build议将不胜感激。

UIWebView内容不能在不同尺寸的iPhone之间缩放

所以我正在使用UIWebView来提供HTML内容的iOS应用程序。 为什么UIWebView而不是WKWebView? 以及我想这个应用程序在iOS7和以上的工作。 我刚刚更新了Xcode到Xcode 6.1 ,当从4英寸的屏幕大小改为4.7或更高时,无法调整webView以适应可用的屏幕空间。 我所追求的是让我的应用程序在4英寸以上的所有iPhone屏幕尺寸上保持一致,因为我所有的Web视图上显示的HTML5代码都是。 在我的属性检查器中,我将尺寸设置为iPhone 4英寸,您可以在下面的链接中分别查看4英寸和4.7英寸iPhone的模拟器中的应用程序样式。http://imgur.com/图库/ tz7LG /新 如何在不同尺寸的iPhone屏幕上适当地扩大规模? fyi,我已经将Scale页面设置为适合我的webView。 我正在使用Swift构build这个应用程序。

UIImageView,setClipsToBounds和我的图像是如何失去理智

我正在开发一个iOS 4应用程序。 我在UITableViewCell的UIImageView上使用这个代码: cell.photo.contentMode = UIViewContentModeScaleAspectFill; [cell.photo setClipsToBounds:YES]; 我的图像比宽度更高,当我设置UIViewContentModeScaleAspectFill ,图像缩放以适应UIImageView宽度的宽度。 这样做,图像变得更大,UIImageView和我看到它在UIImageView之外。 然后,我需要使用setClipsToBounds:YES来不允许这样做,但现在我的所有图像都失去了setClipsToBounds:YES 。 有什么办法使用UIViewContentModeScaleAspectFill和中心左上angular的图像与左上angular的UIImageViewangular? 如果我需要失去一部分形象,我宁愿失去它的头。 UPDATE 我正在使用sdWebImage框架,我已经使用了Vadim Yelagin答案,现在是我的代码: [cell.photo setImageWithURL:[NSURL URLWithString:entry.photo] placeholderImage:[UIImage imageNamed:@"placeholder.png"] success:^(UIImage *image) { CGFloat scaleX = cell.photoBorder.bounds.size.width / image.size.width; CGFloat scaleY = cell.photoBorder.bounds.size.height / image.size.height; CGFloat scale = MAX(scaleX, scaleY); cell.photo.frame = CGRectMake(0, 0, image.size.width * scale, image.size.height * scale); cell.photo.image = […]

获取设备图像比例(例如@ 1x,@ 2x和@ 3x)

我有一个应用程序,使用服务来获取一些图标。 有了这个服务,我可以得到任何大小的图像,所以我计划得到3个图像(@ 1x,@ 2x和@ 3x)并将它们存储在BBDD上,然后使用这三个图像中的一个; 或者根据设备规模只能获得一个。 但事情是,我怎样才能以编程方式获得设备规模(@ 1x,@ 2x和@ 3x)? Obj-c和Swift都受欢迎;)

CLLocationManager startUpdatingLocation不起作用

所以现在我至less得到以下代码的callback… – (void)viewDidLoad { [super viewDidLoad]; mapView=[[MKMapView alloc] initWithFrame:self.view.frame]; //mapView.showsUserLocation=TRUE; mapView.delegate=self; [self.view insertSubview:mapView atIndex:0]; NSLog(@"locationServicesEnabled: %@", [CLLocationManager locationServicesEnabled] ? @"YES":@"NO"); CLLocationManager *newLocationManager = [[CLLocationManager alloc] init]; [newLocationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [newLocationManager setDistanceFilter:kCLDistanceFilterNone]; [self setLocationManager:newLocationManager]; [[self locationManager] setDelegate:self]; [[self locationManager] startUpdatingLocation]; NSLog(@"Started updating Location"); } – (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"Did update to location"); mStoreLocationButton.hidden=FALSE; […]

如何将UIView缩放(缩放)到给定的CGPoint

我花了很多时间试图find一种方法来使用CGAffineScale将视图转换为给定的点,包括混合锚点,在转换之前和之后移动视图的中心和全面的谷歌search。 我知道这将是一个简单的UIScrollview; 但是我知道在没有人的情况下,技术上是可能的,而且在我看来这已经变成一个分裂。 这个答案非常接近我想要达到的目标,但是答案只是给出了如何通过巧妙地将中心移动到要放大的那个angular落的对angular来放大给定angular落(而不是给定点)的细节。 我怎样才能修改mvds的代码来缩放UIView到UIView中的任何给定的点? CGFloat s = 3; CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s); CGFloat h = self.view.frame.size.height; CGFloat w = self.view.frame.size.width; [UIView animateWithDuration:2.5 delay:0 options:0 animations:^{ self.view.transform = tr; self.view.center = CGPointMake(ww*s/2,h*s/2); } completion:^(BOOL finished) {}];