Tag: ios6

ABAddressBookCopyArrayOfAllPeople返回设备上的空数组

我在iOS 6上开发需要访问AddressBook的应用程序,我使用以下代码: NSMutableArray *contacts = [[NSMutableArray alloc]init]; CFErrorRef *error = nil; ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, error); if (error) {NSLog(@"ERROR!!!");} NSArray *arrayOfPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook); 但在真正的设备arrayOfPeople是空的…为什么发生这种情况? PS所有对AddressBook的访问都被授予

iPad UISplitViewController Phantom Master View控制器

使用UISplitViewController查找自动旋转问题的解决scheme。 重新创build的步骤是: 使用Xcode 4.5+和iOS6 + SDK,使用“Master-Detail Application:”模板创build一个新项目。 使用全屏大小的XIB文件将新的视图控制器添加到项目中。 向使用-presentViewController呈现新视图控制器全屏的详细视图控制器添加一个button:animated:completion: 将一个button添加到使用dismissViewControllerAnimated消除自身的新视图控制器:完成: 在横向模式下使用iPad启动应用程序,然后点击提供新视图控制器的详细视图中步骤3中创build的button。 查看全屏视图控制器时,将iPad旋转为纵向,然后点击步骤4中添加的button以closures新的视图控制器。 问题:使用这些步骤,主视图控制器和详细视图控制器都将自动旋转,但主视图控制器将停留在屏幕上处于无响应状态,并占用屏幕左上angular的框架,该框架的大小与它是在横向模式。 通过使用iPad左侧的手势,将显示正确的主视图控制器并清除问题。 我们已经能够在新的视图控制器中使用viewWillAppear和viewDidDisappear来隐藏幻影主视图控制器,但即使使用该修复,模板在纵向提供的“主”button在执行上述步骤后仍然没有响应,而我们已经追踪到这样的事实,即在修复之前由主视图控制器占用的左上方的屏幕区域对触摸没有响应。 我们已经尝试了几次以不同的方式辞职的第一反应者,但没有完全解决问题的运气。 注意:如果在首次启动应用程序时遵循上述步骤5-6,则通常会发生此问题。 在单个应用程序启动中重复步骤6通常不会导致每次都出现问题。 每次发布应用程序都是可重复的。

方向更改后,将UIScrollView重置为新的框架尺寸

我有一个ImageZoom类,它是UIView的子类,是UIScrollView的一个图例。 这非常简单。 该类包含一个包含UIImageView的UIScrollView。 当类的实例被添加到视图控制器时,图像被缩放,以便与视图齐平。 有两种方法可以在重复时双击并缩小。 除了当我改变方向到风景时,一切都很好。 我似乎无法弄清楚如何获得正确的缩放,使图像现在与新的方向齐平。 这里是一个链接到文件以及: http://www.2shared.com/file/bowDjzLr/imagescroll.html ViewController.h #import <UIKit/UIKit.h> #import "ImageZoom.h" @interface ViewController : UIViewController @end ViewController.m #import "ViewController.h" @interface ViewController () @property (nonatomic,strong) ImageZoom *imageZoom; @property (nonatomic, strong) UIImage *image; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; self.image = [UIImage imageNamed:@"1.png"]; } -(void)viewDidAppear:(BOOL)animated { ImageZoom *imageZoom = [[ImageZoom alloc]initWithImage:self.image andFrame:self.view.bounds]; […]

从横向到纵向改变方向时,横向宽度减小

我使用tableview与search栏显示控制器,它显示良好的portait和横向视图,但从横向旋转search栏大小减less,如何更改原始大小

不能够从MPMediaItem(mp3歌曲)转换到NSData

我曾尝试以下代码: 这些是我的MPMediPickerController的委托方法: – (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection { // Dismiss the media item picker. [self dismissModalViewControllerAnimated: YES]; NSLog(@"%@ %d",mediaItemCollection,mediaItemCollection.count); NSArray *newMediaItem= [mediaItemCollection items]; MPMediaItem *item=[[newMediaItem objectAtIndex:0] retain]; [self uploadMusicFile:item]; } 这是我的自定义方法MPMediaItem NSData: – (void) uploadMusicFile:(MPMediaItem *)song { NSURL *url = [song valueForProperty: MPMediaItemPropertyAssetURL]; AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL: url options:nil]; […]

我用什么坐标手动绘制一个MKMapView的自定义path?

有CLLocation2D点, MKMapPoints , MKCoordinates和convertCoordinate:toPointInView:它们都以一种或另一种forms给你点。 我正在绘制一个自定义路线: – (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context { 什么是正确的使用绘图点?

为什么不设置这个UISlider的值属性更新其位置?

… ViewController.h: @property (nonatomic, strong) IBOutlet UISlider *slider; … ViewController.m: @synthesize slider; – (void)viewDidLoad { [super viewDidLoad]; … currentValue = 50; self.slider.value = currentValue; // Do any additional setup after loading the view, typically from a nib. } 的.xib: 我的界面中的UISlider连接到slider属性。 行为: 当滑块位于中间位置时,滑块一直位于值100的右侧。 我设置的动作确认currentValue的值是50.如果currentValue是50并且slider.value被设置为50,为什么这个位置不反映这个? PS我试过[slider setNeedsDisplay],并没有影响这种行为。 更新:感谢您的快速解答! 多么愚蠢的事情要做。 我打印出currentValue作为int其他地方,所以我现在设置slider.value这个代码: self.slider.value = (float) currentValue/100;

如何降低UIPasteboard的价值

1)我使用这种方法从UIPasteboard复制图像[UIPasteboard generalPasteboard].image; 2)创build一个图像后,我想清理UIPasteboard 。 所以我写这个方法[UIPasteboard generalPasteboard].image = nil; 但是这工作正常在ios 4和ios 5上,但它给在ios 6上的问题。 3) 在我的应用程序中,我想清理UIPasteboard或无UIPasteboard值。 我怎么能在iOS 6上做到这一点?

用Cedar的iOStesting控制器

我想用Cedartesting一个控制器,但不能真正理解为什么它不工作。 控制器永远不会显示,viewDidLoad或viewDidAppear永远不会被调用。 这是锡达本来不是要做的,还是我的错误? describe(@"MyController", ^{ __block UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; __block UINavigationController *root = (UINavigationController *)[[[[UIApplication sharedApplication] delegate]window ]rootViewController]; __block MyViewController *model = [storyboard instantiateViewControllerWithIdentifier:@"MyController"]; [root pushViewController:model animated:YES]; it(@"should test something", ^{ expect(model.content).to(be_truthy); }); });

索引0超越了空数组的界限,同时进入文档目录

我使用下面的代码来到文档目录。 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; 为什么我的应用程序会崩溃以下消息? *** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array 我看不到我的NSArray (不可变数组)如何是空的。 该函数应该返回数组中的文档文件夹。 有任何想法吗?