是否可以通过动画更改色调以获得更平滑的效果?
这对我不起作用:
[UIView beginAnimations:nil context:nil];
[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
我不确定是否有可能使用原生苹果组件,因为我猜他们将使用CG来生成渐变...只是想在我开始构建自己的解决方案之前找出...
干杯们:)
iphone tint uinavigationbar uinavigationcontroller tintcolor
我使用GLKit启动了Xcode模板,但我的目的是有一个窗口显示视图的OpenGL部分和UIKit控件.
GLKViewController附带一个GLKView.我去了IB并删除了GLKView并添加了一个UIView,将新的GLKView放在我想要的大小的顶部.然后我修复了对GLKView(self.view)的引用,并将较小的GLKView委托设置为视图控制器.
我有
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[GLKViewController loadView] loaded the "2-view-9XZ-07-hga" nib but didn't get a GLKView.'
Run Code Online (Sandbox Code Playgroud)
然后我查看了docs并发现GLKViewController需要GLKView作为其视图.没有惊喜.是的,我是新来的.
在GLKView小于全屏的情况下使用GLKit的好方法是什么?或者混合UIKit和GLKit还没有完成?
(更新:很多人都在发现这个问题; Duncan的答案,使用视图控制器遏制,效果很好.)
当我构建我的项目(任何项目,真的 - 我尝试创建一个具有相同结果的新空项目)时,它可以在Xcode4或Xcode 3.2.4下使用GCC 4.2构建.
如果我使用Xcode4下的LLVM 2.0或Xcode3下的LLVM 1.5构建,我会遇到编译时构建失败,但只有在为模拟器构建时才会.
我在LLVM下获得的构建错误都在我无法控制的标题中,例如UIKit中的UIView.h,UIDevice.h,UIApplication.h,UITextView.h和UIWebView.h以及CoreGraphics中的CGPDFContext.h.
这是WebView.h中的示例错误:
@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0); //<--- Unknown type 'UIDataDetectorTypes'
Run Code Online (Sandbox Code Playgroud)
当UIDataDetectorTypes确实在UIDataDetectors.h中声明时,它包含在该文件中.
吸气
使用故事板,您无法轻松访问appDelegate中的第一个视图控制器(尽管您prepareForSegue可以轻松地将ManagedObjectContext传递到导航堆栈中.
我已经决定给每个视图控制器(或每个视图控制器的超类)要求Core Data访问一个moc成员:
@synthesize moc = _moc;
@property (nonatomic) __weak NSManagedObjectContext *moc;
Run Code Online (Sandbox Code Playgroud)
我对此感到不安,因为它似乎不是一种非常优雅的方式 - 代码太多了.但直接分配需要在viewControllers数组中指定绝对索引,并在每次ManagedObjectContexts的需求发生更改时更改appDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
// rootView gets a tab bar controller
for(UINavigationController *navController in tabBarController.viewControllers) {
for(UIViewController *viewController in navController.viewControllers) {
if([viewController respondsToSelector:@selector(setMoc:)]) {
[viewController performSelector:@selector(setMoc:) withObject:self.managedObjectContext];
NSLog(@"Passed moc to %@", [viewController description]);
}
}
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这种方法有哪些缺陷,有更好的方法吗?尝试更通用是否更好:
- (void)assignManagedObjectContextIfResponds:(UIViewController *)viewController {
if([viewController respondsToSelector:@selector(setMoc:)]) {
[viewController performSelector:@selector(setMoc:) withObject:self.managedObjectContext];
NSLog(@"Passed moc to %@", [viewController description]); …Run Code Online (Sandbox Code Playgroud) core-data uitabbarcontroller uinavigationcontroller ios5 uistoryboard
我正在使用ABPeoplePickerNavigationController,UINavigationController的子类,并且在上下文中我正在使用它的右侧默认导航栏按钮"取消",没有任何意义.我找不到禁用或隐藏它的方法,无论使用哪种方法都需要公开和存储可批准.完全摆脱导航栏(picker.navigationBarHidden = YES;)可能是一个选项,除了弹出回到联系人列表后导航栏重新出现.对ABPeoplePickerNavigationController进行子类化并拦截viewWillAppear以尝试取消按钮按钮无法正常工作.[picker setAllowsCancel:NO]; 虽然工作但没有证件,所以我希望永远不会通过批准.
我检查了其他答案,但没有发现任何真正描述我情况的东西.所以这里.
我有一个基于窗口的应用程序,可以从xib创建和加载UIViewController.它的状态栏已禁用,高度为480,UISegmentedControl的y原点为451.它在屏幕底部显示良好.*
在UIViewController的viewDidLoad中,我创建了一个UIView initWithFrame:CGRectMake(0.0, 0.0, 320.0, 431.0)];(UISegmentedControl为480 - 29像素,状态栏为20).我将它添加到UIViewController中[self.view addSubview:gameBoard];.然后将一些UIView游戏片作为游戏板UIView的子视图添加,并且所有内容都显示为我认为它应该是.
当点击其中一些UIView子视图时,应显示一个菜单.我已经创建了一个带有所需控件的UIViewController.我使用委托方法从接收触发事件的子视图调用到根UIViewController -
self.squadOrders = [[SquadOrders alloc] initWithNibName:@"SquadOrders" bundle:nil];
squadOrders.viewControllerDelegate = self;
[self presentModalViewController:squadOrders animated:YES];
Run Code Online (Sandbox Code Playgroud)
模式对话框显示为我认为它应该从屏幕的下边缘向上滑动,不覆盖状态栏但覆盖根UIViewController底部提到的UISegmentedControl.它被驳回了
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
那就是麻烦开始的地方.UISegmented控件向下移动20个像素,因此屏幕底部只能看到9个像素.顶部有一个20像素的白色间隙,视图向下移动.
*在此或任何其他xib上启用状态栏根本不会改变所描述的行为.
其他相关的stackoverflow问题是:
IPhone - 在解除模态视图控制器后 - 间隙留在页面顶部 - 但是给定的解决方案是没有另一个视图控制器作为显示模式的视图控制器的子视图加载 - 但我没有,只有UIViews.还有一个建议是在模态消失后重置适当的帧,但感觉就像作弊.
解雇ModalViewController后,UIScrollView的内容发生了变化 - 我玩过所有视图和控制器的高度 - 我相信它们匹配,没有帮助.同样,帧可以重置,但它只解决症状.
还有其他人,但到目前为止还没有解决这个问题.
所以我构建了我的iPhone应用程序,它在模拟器中运行良好,所以我想在我的分发配置文件进行公开测试之前,将它部署到我的iPhone进行最后一轮测试.我已经做了很多次,这从来都不是问题.然而,自上次测试运行以来,我升级了我的iPhone(iOS 4)和XCode(版本4 DP2),所以可能问题根源于此.
构建过程运行良好并且成功 - 在此之后XCode尝试将其部署到我的iPhone并且失败了一个简单的"未知错误已经发生".难以理解我在system.log中看了一下,这就是它所说的:
7月29日17:44:18 Xcode [12893]:AMDeviceStartHouseArrestService(thread 0x120e8e000):设备出错:ApplicationLookupFailed
7月29日17:44:19 Xcode [12893]:call_and_response(thread 0x120e8e000):GOT AN ERROR 0xe800003a
7月29日17:44:19 Xcode [12893]:perform_command(thread 0x120e8e000):与服务代理通信时出错:0xe8008001
7月29日17:44:19 Xcode [12893]:AMDeviceSecureInstallApplication(thread 0x120e8e000):无法在设备上安装软件包:e8008001
7月29日17:44:19 Xcode [12893]:'/ SourceCache/DTDeviceKit/DTDeviceKit-232.24/DTDeviceKit/DTDeviceKit_Utilities.m'的结果为468:0xE8008001
7月29日17:44:19 Xcode [12893]:265的结果为"/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m":0xE8008001
因为我猜这是一个相当罕见的问题(因此是"未知错误"),我将非常感谢有关如何调试此事的任何指示.我不希望有任何解决方案或任何东西(虽然如果有人遇到类似的问题我会很感激,并帮助我找到一个确切的解决方案;))但也许你们中的一些人有一个好主意.
通过日志中的两行判断设备出现错误以及与服务代理的通信我猜测它可能是与iPhone本身连接的问题 - 但看到与iTunes同步和所有"正常"的东西工作得很好我无法弄清楚那个问题可能是什么.
在此先感谢帮助我.
更新
所以,环顾四周后,我在XCode Organizer的设备控制台上找到了这个:
7月29日星期四22:40:00 Roberts-3GS SCHelper [38]:0x104e60 {port = 0x382b,caller = SpringBoard(42):com.apple.preferences,path = /Library/Preferences/SystemConfiguration/preferences.plist}
7月29日星期四22:40:22 Roberts-3GS installd [960]:从代码签名库中无法识别状态-25293
Thu Jul 29 22:40:22 Roberts-3GS installd [960]:00503000 verify_signer_identity:无法复制验证签名:-402620415
7月29日星期四22:40:22 Roberts-3GS installd [960]:00503000 preflight_application_install:无法验证/var/tmp/install_staging.0DuNfz/landu.app上的可执行文件
Thu Jul 29 22:40:22 Roberts-3GS installd [960]:00503000 install_application:无法预检应用程序安装
7月29日星期四22:40:22 Roberts-3GS mobile_installation_proxy [961]:handle_install:安装失败 …
我已经安装了PhoneGap,但我在我的机器上安装了xcode4的beta版本,版本为3.2
当我安装PhoneGap时,模板转到旧版本而不是XCode4
我在调整我的UICollectionViewCells时遇到问题.我有6个完美对齐的细胞.然而,当我改变任何一个的大小时,最后一个单元格失去了它的水平对齐,我不知道为什么.这是我更改任何单元格高度时的结果:

如您所见,在此示例中,我正在更改第3个单元格的高度,并且最后一个单元格不再水平对齐.这是我的代码:
- (void)viewDidLoad
{
...
FlowLayout *flowLayout = [[FlowLayout alloc] init];
flowLayout.itemSize = CGSizeMake(152, 260);
flowLayout.sectionInset = UIEdgeInsetsMake( 5, 5, 5, 5);
flowLayout.minimumInteritemSpacing = 2.0f;
flowLayout.minimumLineSpacing = 8.0f;
flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
self.collectionView.collectionViewLayout = flowLayout;
...
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:
(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row == 2){
return CGSizeMake(152, 200);
}
return CGSizeMake(152, 270);
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找用于Solaris调试器的用户友好的手册 - mdb我可以在其中找到检查堆栈的示例.我试着寻找一段时间的答案,但我能找到的只是官方手册,只有少数私人页面没有那么多信息.
iphone ×5
xcode4 ×3
ios ×2
xcode ×2
cocoa-touch ×1
cordova ×1
core-data ×1
debugging ×1
deployment ×1
gcc ×1
glkit ×1
ios5 ×1
llvm ×1
objective-c ×1
solaris ×1
tint ×1
tintcolor ×1
uikit ×1
uistoryboard ×1