我想打印我保存的所有值,NSUserDefaults而不提供特定的密钥.
像使用for循环打印数组中的所有值的东西.有办法吗?
我正在使用MGSplitViewController,我shouldAutorotateToInterfaceOrientation用来控制旋转时主视图控制器的大小.
它在iOS 5上运行良好,但在iOS 6(模拟器和iPad)shouldAutorotateToInterfaceOrientation上从未调用过.
这是一个我应该期望在iOS 6的最终版本中修复的错误或者我不知道已经改变的东西吗?
UITableView有方法rectForRowAtIndexPath:,但这在UICollectionView中不存在.我正在寻找一个很好的干净方法来获取一个单元格的边界矩形,也许我可以添加一个类别UICollectionView.
也许这是一个不好的做法,但是根据我阅读的文档,我得到了在viewDidLoad方法中的某些情况下初始化对象的建议,并在viewDidUnload中将其设置为nil.
例如,如果您有类似添加观察者的内容
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(filterready:)
name:@"filterReady"
object:nil];
Run Code Online (Sandbox Code Playgroud)
现在我没有删除Observer的方法,但是每次显示视图时都会调用viewDidLoad,导致多个观察者在一段时间后运行,然后多次调用选择器.
我可以通过将一些清洁工移动到viewDidDisappear方法来解决这个问题,但现在我有一些疑问,如果我做的是正确的事情.
在我的示例中,我有多个控制其子导航的导航控制器,但是从不为它们调用dealloc,即使它们未被引用
我在执行insertItemsAtIndexPaths中遇到此错误UICollectionView
断言失败:
-[UICollectionViewData indexPathForItemAtGlobalIndex:],
/SourceCache/UIKit/UIKit-2372/UICollectionViewData.m:442
2012-09-26 18:12:34.432
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'request for index path for global index 805306367
when there are only 1 items in the collection view'
Run Code Online (Sandbox Code Playgroud)
我检查过,我的数据源只包含一个元素.有关为何会发生这种情况的任何见解?如果需要更多信息,我绝对可以提供.
我有一个UITextView通过Interface Builder管理的.作为数据检测,我检查了"链接".在iOS 6中,一切正常,链接突出显示且可点击.但是在iOS 7中,所有链接仍然只是纯文本.未选中可编辑和可选择的复选框.
可能引起关注的是,UITextView容器视图的子视图再次位于a UIScrollView.
我的应用程序适用于iOS 5.1,但对于iOS 6模拟器,我收到以下错误.
由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [UITableViewController loadView]加载了"MainListViewController"笔尖,但没有得到UITableView.
我是子类UITableViewController,我不想改变它.
tableview是以编程方式创建的,有一个虚拟MainListViewController.xib加载来自Mainwindow.xibTab Bar Controller.
我也尝试删除MainListViewController.xib,从MainWindow.xibTab Bar Controller中删除它,MainListViewController在AppDelegate中创建它并将其添加到Tab Bar Controller UITabBarItem以摆脱这个nib问题,但我仍然得到同样的错误.
我给了一个应用程序说10个视图控制器.我使用导航控制器来加载/卸载它们.
除一个以外的所有人都处于纵向模式 假设第7个VC处于景观状态.我需要它在加载时以横向呈现.
请建议在IOS 6中强制定位从纵向到横向的方法(在IOS 5中工作也很好).
以下是我在 IOS 6 之前做的事情:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIViewController *c = [[[UIViewController alloc]init] autorelease];
[self presentModalViewController:c animated:NO];
[self dismissModalViewControllerAnimated:NO];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
Run Code Online (Sandbox Code Playgroud)
呈现和解雇模态VC迫使应用程序检查其方向,因此shouldAutorotateToInterfaceOrientation被调用.
我在IOS 6中尝试过的内容:
- (BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
return UIInterfaceOrientationLandscapeLeft;
}
Run Code Online (Sandbox Code Playgroud)
在加载时,控制器保持纵向.旋转设备后,方向改变就好了.但是我需要让控制器在加载时自动旋转到横向,因此用户必须旋转设备才能正确查看数据.
另一个问题:该装置旋转回纵向后,方向变为纵向,虽然我在指定supportedInterfaceOrientations唯一的UIInterfaceOrientationMaskLandscape.为什么会这样?
此外,无上述3种方法越来越被调用.
一些(有用的)数据:
任何帮助表示赞赏.谢谢.
自从开始用iOS 6(以及iOS 7)编译我的应用程序以来,我已经开始看到这条消息了.我知道UITableViews管理单元格的方式在iOS 6中是不同的,但我不需要修改我的代码以便继续工作.但是我担心这个消息可能指向一些我还没有看到的潜在问题.谁能摆脱任何光明?
使用Xcode 4.5.2并构建iOS4或更高版本,我在为我的设备构建时收到此消息(iOS上的iOS 6.0.1).我关闭对话框,然后重新启动我的设备上的应用程序似乎工作.我是iOS开发的新手,所以如果这是一个愚蠢的问题,我会事先提前注释.
预先感谢您的帮助.
ios6 ×10
ios ×6
objective-c ×4
ios7 ×2
iphone ×2
orientation ×2
uitableview ×2
build-error ×1
uitextview ×1
xcode ×1