在Xcode 5中 ,我使用资产目录来pipe理应用程序图标并为我的应用程序启动图像。 应用程序图标在所有设备上都能正常工作,但启动图像只有几个。 我已经为每个可能的设备添加了启动图像,并添加了我想要定位的iOS(6.1和7.0)。 我已经确保所有图像都具有正确的尺寸 ,这在图像尺寸与预期尺寸相匹配的属性检查器(见下图)中得到确认。 在命名约定之后,我也命名了所有的图片 ,这对于资产目录来说甚至是不必要的(见最后一张图片) 。 iPhone上运行的iOS7启animation面似乎没有任何命名约定,所以我简单地命名为“iphone4_iOS7”和“iphone5_iOS7”。 当我在iOS7上运行时,模拟器中显示的启动图像全部变黑,无论是哪种设备。 我也得到了我的iPhone 5,这确认模拟器不是问题的这种行为。 当我在ipad和ipad视网膜模拟器中运行iOS6时,显示相同的黑色图像。 iOS6的iphone模拟器的启动图像按预期工作。 我有很多次,无论是在模拟器和设备上,删除了应用程序和清理,但没有任何改善。 我究竟做错了什么? 我怎样才能摆脱黑色启动图像,并得到我在资产目录中设置的图像来显示?
我有一个使用UICollectionViewFlowLayout ,其中我的itemSize是itemSize的大小。 基本上,这是每个单元格全屏并水平滚动的单元格的行布局。 在我的UICollectionViewFlowLayout子类中,我重写了prepareLayout ,如下所示: – (void)prepareLayout { self.itemSize = self.collectionView.frame.size; self.scrollDirection = UICollectionViewScrollDirectionHorizontal; self.collectionView.pagingEnabled = YES; self.minimumLineSpacing = 0.0; self.minimumInteritemSpacing = 0.0; self.sectionInset = UIEdgeInsetsZero; self.footerReferenceSize = CGSizeZero; self.headerReferenceSize = CGSizeZero; } UICollectionViewController是非常基本的在一个部分返回10个项目。 我已经在GitHub上包含了一个示例项目来获取更多细节。 一切似乎设置正确。 它在模拟器和设备上看起来是正确的,但是当收集视图显示时,会有一个错误logging到控制台: the behavior of the UICollectionViewFlowLayout is not defined because: the item height must be less that the height […]
在应该在iOS 6和iOS 7上运行的应用程序中,如果应用程序在iOS 7上运行,则导航栏中embedded的search栏的取消button不再显示。在iOS 6上运行。 search栏位于导航栏的标题视图中,如果search栏成为第一个响应者,则应显示取消button: IOS 7 iOS 6 在一个孤立的testing案例中,代码非常简单: @interface MyViewController : UITableViewController<UISearchBarDelegate> @property (nonatomic) IBOutlet UISearchBar* searchBar; @end @implementation MyViewController – (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.titleView = self.searchBar; } – (void) searchBarTextDidBeginEditing: (UISearchBar*) searchBar { [searchBar setShowsCancelButton: YES animated: YES]; } @end 这是我在文档中遗漏的iOS 7故意改变吗? 如果是的话,那么应该是什么呢? 如果没有,我在我的代码中犯了一个错误?
我想我发现了一个最新的iOS 7中的错误,通过运行一个应用程序与基础SDK设置为iOS 6.1(可能甚至更低的版本,还没有testing过呢) 我在我的照片库中有这个图像: http : //i.imgur.com/7KUIGLt.jpg 我介绍一个UIImagePickerController通过: UIImagePickerController *vc = [[UIImagePickerController alloc] init]; vc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; vc.delegate = self; vc.allowsEditing = YES; [self presentViewController:vc animated:YES completion:nil]; 我保存select的图像到我的桌面(我正在模拟器上运行,但这也适用于设备) – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage]; if (outputImage == nil) { outputImage = [info objectForKey:UIImagePickerControllerOriginalImage]; } NSData *d = UIImagePNGRepresentation(outputImage); [d writeToFile:@"/Users/Admin/Desktop/test.png" […]
我的图像select器视图控制器设置在popover控制器。 在iOS 6上,一切都很好,但是在iOS 7上,图像被旋转了,所有的动作都在进行:当iPad左转时,图像向左移动,等等。 以下是显示我的相机的代码: UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.delegate = self; imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; objPopView = [[UIPopoverController alloc] initWithContentViewController:imagePicker]; [objPopView presentPopoverFromRect:CGRectMake(842, 163, 0, 0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES]; 我的应用程序只使用横向模式,现在图像旋转:
我正在创build需要在特定时间在后台唤醒的应用程序。 我努力了 : UILocalNotification:但我不想使用UILocalNotification,因为它需要用户交互来点击通知,并且只有应用程序会唤醒并启动位置pipe理器。 我也用过[locationManager startUpdatingLocation]; 启用背景模式位置更新,这是工作,但它会占用大量的电池。 因此,使用新的iOS 7functionSilent pushNotification和Silent pushNotification didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:方法我需要在后台启动位置pipe理器, -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{ NSLog(@"Receive RemoteNotification in fetchCompletionHandler with UserInfo:%@",userInfo); application.applicationIconBadgeNumber=0; __block UIBackgroundTaskIdentifier bgTask = [application beginBackgroundTaskWithExpirationHandler:^{ [self.locationManager startUpdatingLocation]; [application endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; } 无声推送通知工作正常, PushNotification的有效载荷: {"aps" : {"content-available" : 1},"SilentPushId" : "07"} 但这不会启动位置经理,请有人帮助我。 编辑: 如果这是不可能的,请给我一些build议。
首先我要讨论在snapchat中发生的情况。 在Snapchat中,当你开始录制video和歌曲在后台运行时, 它允许在录制video时继续播放该歌曲,并且在录制该video之后,您还可以在后台听到该歌曲。 我正在使用SCRecorder录制video并使用自定义布局捕获图像。 现在我想要做的就像上面的情景,但问题是每当我开始录制背景歌曲中的video停止播放。 SCRecorder使用AVCaptureSession录制video。 那么我该如何解决这个问题呢? 使用SCRecorder允许在video中录制背景音乐。 录制在video背景中播放的歌曲。
我有奇怪的错误,我不知道如何捕捉这个问题。 在我的应用程序中有不同的控制器。 当我将控制器1推到导航控制器并滑回时,一切正常。 但是,如果我推导航控制器1,并进入控制器1推控制器2,并尝试刷卡回来 – 我得到一个冻结的应用程序。 如果通过后退button返回 – 一切正常。 我怎样才能抓住我的问题?
我们正在为iOS7devise一个应用程序,我们的devise人员希望使用非默认字体(Avenir),但我不想松动dynamictypesfunction。 据我所知dynamictypes只能使用默认的系统字体,这是Helvetica Neue。 是否有可能使用其他字体或在这个时候它不是一个选项?
据我所知,iOS 7的默认字体是Helvetica Neue UltraLight ,与前作相比,它更薄。 为了提供一致的devise,并使我即将到来的应用程序在所有常见的iOS版本中看起来相同,我想将Helvetica Neue UltraLight作为应用程序的默认(主要)字体。 令人欣慰的是,这个“新的字体”是从iOS 5.0版本开始提供的,所以它已经被iOS 7之前的版本所支持。不幸的是,我唯一想到的方法就是手动调用[UIFont fontWithName:@"HelveticaNeue-UltraLight" size:size]每个UIView字体上的[UIFont fontWithName:@"HelveticaNeue-UltraLight" size:size] ,这是乏味和容易出错的。 所以我的问题是,你怎么做到这一点,或者你如何处理这个devise变更?