Tag: iphone

是否有可能在不损失质量的情况下调整UIImage的大小?

我有一个UIImage,我放在UIImageView中,它附有一个捏手势识别器,我用它来缩放图像。 当我在UIImageView中缩放图像时,没有失真,它可以完美缩放。 但是,我需要调整UIImage的大小,而不是在UIImageView中,当我使用下面的代码执行此操作时,结果略有偏差: CGFloat width = self.imageView.frame.size.width; CGFloat height = self.imageView.frame.size.height; UIGraphicsBeginImageContext(CGSizeMake(width, height)); [self.image drawInRect:CGRectMake(0, 0, width, height)]; UIImage *resizedImage = [UIGraphicsGetImageFromCurrentImageContext() retain]; UIGraphicsEndImageContext(); 正如您所看到的,我从imageView获取高度和宽度,因为这是图像需要缩放到的位置。 我知道如果imageView能够做到这一点,必须能够完美地扩展它,是否有人碰巧知道我做错了什么? 更新:我附加了一个图像的前/后(用户在图像视图中重新调整)以及它在使用上述方法resize后的外观。

图像无响应双击缩放

我的UIImage没有使用以下代码进行缩放。 然后识别轻敲,但缩放不起作用。 它基本上是来自iOS开发站点的taptozoom代码,其中一个导航控制器浮动在UIScrollView和UIImageView后面。 此TapToZoom代码无需导航控制器即可运行。 图像拉伸是否有问题,以允许顶部的导航栏? #import “Map.h” #define ZOOM_VIEW_TAG 100 #define ZOOM_STEP 1.5 @interface Map (UtilityMethods) – (CGRect)zoomRectForScale:(float)scale withCenter:(CGPoint)center; @end @implementation Map @synthesize imageScrollView, imageView; – (void)loadView { //imageScrollView.userInteractionEnabled = YES; // [self.imageView setUserInteractionEnabled:YES]; //[self.imageView setMultipleTouchEnabled:YES]; NSLog(@”beginning of loadView in map.m”); [super loadView]; // set the tag for the image view [imageView setTag:ZOOM_VIEW_TAG]; //imageScrollView.scrollEnabled = […]

在导航控制器中使自定义后退按钮的可点击区域变小

我已经使用下面的代码创建了一个自定义后退按钮,但可点击区域非常大,远远超出了图标本身。 有谁知道如何设置可点击区域,或使其与图像大小相同? 谢谢 UIImage *buttonImage = [UIImage imageNamed:@”prefs”]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:buttonImage forState:UIControlStateNormal]; button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height); [button addTarget:self action: @selector(handleBackButton) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button]; self.navigationItem.leftBarButtonItem = customBarItem; 可点击区域显示为红色。 谢谢!

即使单击续订按钮,分发配置文件仍会过期

我的应用程序的分发配置文件已过期,旁边会显示“续订”按钮,但点击它时没有任何反应,只需将我带到开发配置文件页面。 单击续订按钮后,分发配置文件的状态将保持过期。 我想更新它,有没有人对此有所了解。

照片放入arraysIos开发

我的项目中有一个带有图片的文件夹,我想知道如何将文件夹中的图片放入数组中 我该怎么做? 我试着把图像放在数组中 UIImage*image = [[NSBundle mainBundle]pathsForResourcesOfType:@”jpg” @”jpeg” @”gif” inDirectory:@”Images”]; NSArray*images = [[NSMutableArray alloc]initWithContentsOfFile:image];

UIWebView shouldStartLoadWithRequest仅在从内部调用模态视图时触发一次

我的部分应用程序用JS编写并在WebView中运行。 我正在使用UIWebView的shouldStartLoadWithRequest方法捕获http请求,作为JS和obj-c之间通信的一种方式。 这很有用,直到我尝试从shouldStartLoadWithRequest方法内部加载我的webview上的模态视图控制器。 一旦发生这种情况,就不再调用shouldStartLoadWithRequest。 有时我需要关闭这个模态视图控制器并返回到webview并做一些事情,然后重新呈现模态控制器。 模态控制器第一次出现就好了,然后我解雇它并尝试通过导航到javascript的URL再次呈现它,它不再出现。 永远不会运行shouldStartLoadWithRequest中的NSLog。 在我的JavaScript中我做这样的事情: window.location=’myapp:whateverMethod’; 目标c代码如下所示: – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *requestString = [[request URL] absoluteString]; NSLog(@”REQUEST URL: %@”, requestString); if([requestString hasPrefix:@”myapp:”]) { NSArray *components = [requestString componentsSeparatedByString:@”:”]; NSString *function = [components objectAtIndex:1]; if([self respondsToSelector:NSSelectorFromString(function)]) { [self performSelector:NSSelectorFromString(function)]; } return NO; } return YES; } -(void) whateverMethod { […]

如何在像obj-c的Map方法的ruby中迭代时跳过对象

使用这里的答案,这个方法在obj-c中实现类似于ruby的映射: – (NSArray *)mapObjectsUsingBlock:(id (^)(id obj, NSUInteger idx))block { NSMutableArray *result = [NSMutableArray arrayWithCapacity:[self count]]; [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { [result addObject:block(obj, idx)]; }]; return result; } 我的问题是,如果在应用块时发生错误,我怎么能跳过一个对象? 通常要跳过枚举器中的某些内容,只需使用return命令,但这不是上述方法中的一个选项,因为该块应该返回一些内容。 在这个例子中,我使用return to skip但是得到一个错误: NSArray *mappedArray = [objArray mapObjectsUsingBlock:^(id obj, NSUInteger i) { // i don’t want this obj to be included in final […]

将指针设置为nil,objective-c

我对指针内存是编程新手感到困惑。 所以我添加一个UIBarButtonItem基于何时选择UITabBarController,如下所示: NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy]; if (_sortButton == nil) { _sortButton = [[UIBarButtonItem alloc] initWithTitle:@”Sort” style:UIBarButtonItemStyleBordered target:self action:@selector(sortButtonPressed:)]; [barItems insertObject:_sortButton atIndex:0]; [self.MainToolbar setItems:barItems]; [_sortButton release]; } 我尝试通过检查_sortButton是否为n来删除UIBarButton: if (_sortButton != nil) { // self.SortButton = nil; // I NEEDED THIS NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy]; [barItems removeObjectAtIndex:0]; [self.MainToolbar setItems:barItems]; } 直到我添加注释行self.SortButton […]

如何在ios6中创建多页PDF?

在“以编程方式创建pdf的示例代码”中,有用于生成具有多个页面的PDF的代码,但我无法理解我必须放置或实现该代码的位置。 第一个答案:生成我已在项目中完成的PDF。 第二个答案:对于多页,我很困惑。 任何人都可以告诉我在哪里放置此代码以生成具有多个页面的PDF?

– :索引4294967295超出arc4random的空数组的边界

编辑:我将arc4random()替换为arc4random_uniform()进行修复 我正在使用测试飞行来监控崩溃。 一直在修复bug,但是我遇到了这个bug,我不知道为什么索引如此之大。 -[__NSArrayM objectAtIndex:]: index 4294967295 beyond bounds for empty array 很可能这就是bug的地方 for (NSUInteger i = 0; i < count; ++i) { // Select a random element between i and end of array to swap with. int nElements = count – i; int n = (arc4random() % nElements) + i; [randomName exchangeObjectAtIndex:i withObjectAtIndex:n]; [randomImgName […]