Postado 10 de março de 201214 anos comment_289262 Estou fazendo meu app versao para iPad, na versao pro iPhone o app trabalha somente na visao "Portrait" mas na versao para iPad ele será na visao LandsCape, vejam o que fiz até agora: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); } else{ return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); }}[/CODE]ele detecta se é iPad e caso for, ficará em Landscape em qualquer posiçao que o iPad estiver, pro iPhone faz o contrario.não tive sucesso, nao funcionou.alguém ja fez algo parecido ? Basicamente o que quero é simples, iPhone == Portrait, iPad == LandsCape; Denunciar
Postado 12 de março de 201214 anos comment_289706 Posso estar errado mas acho que dentro do return é apenas um "=" ao inves de "==" Pois é atribuição e não condição. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return (interfaceOrientation = UIInterfaceOrientationLandscapeLeft); } else{ return (interfaceOrientation = UIInterfaceOrientationLandscapeLeft); } } Caso tenha falado besteira desculpe, ainda não programo em Objective C Denunciar
Postado 12 de março de 201214 anos Autor comment_289756 opa, obrigado pela dica, e voce tem razao, quando estava com esse codigo estava recebedo um erro no debug, pois nao retornava nenhum valor TRUE e nao funcionava nada, porem para corrigir este problema tentei implementar outro codigo: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown) && (interfaceOrientation != UIInterfaceOrientationPortrait); } else { return (interfaceOrientation != UIInterfaceOrientationLandscapeLeft) && (interfaceOrientation != UIInterfaceOrientationLandscapeRight); }[/CODE]só que o resultado é muito estranho, quando rodo o app no iPad, a tela carrega em modo UIInterfaceOrientationLandscapeLeft, mas somente enquanto está na tela de splash, depois volta ao normal, e mesmo que eu gire o iPad nao acontece a rotaçao da tela,criei um projeto novo só para testes e funciona perfeitamente este codigo, porém se eu adcionar um MainWindow ferra tudo, o app nao faz mais a rotaçao.o formato da tela carrega no modo certo, "Landscape", mas minha taBar fica na visão "Portrait" e nada gira.:/ Editado 12 de março de 201214 anos por sanchessd Denunciar
Postado 12 de março de 201214 anos Autor comment_289759 http://www.mediafire.com/?pzmh8jfes4uv55z Aqui é o projeto de teste que criei, é assim que eu queria que o meu funcionace, porem nao funciona, a unica diferença é que o meu tem um MainWindow com a TabBar. Denunciar
Postado 12 de março de 201214 anos comment_289773 Hum, bom vai ter que esperar alguem mais experiente por que eu AINDA não programo mas dentro de 2 meses poderei responder, se quizer esperar srrs.. Brincadeiras a parte. Alguem vai te ajuda e eu to de olho no topico . Denunciar
Postado 12 de março de 201214 anos Autor comment_289788 eu também nao sou muio experiente, programo para IOS a uns 3 meses só. Mas valeu pela força ae! Denunciar
Postado 12 de março de 201214 anos Autor comment_289801 olha só, fiz mais um projeto de teste e vou postar aqui pra quem quiser olhar, usei o mesmo codigo do projeto anterior só inclui uma TabBar: http://www.mediafire.com/?d64aphz8q6sf2lw é a primeira vez que estou usando InterfaceOrientation em um app, deve estar faltando algo. o objetivo é: caso for iPhone visao Portrait ou caso for iPad visao Landscape Denunciar
Postado 12 de março de 201214 anos comment_289848 Estou fazendo meu app versao para iPad, na versao pro iPhone o app trabalha somente na visao "Portrait" mas na versao para iPad ele será na visao LandsCape, vejam o que fiz até agora: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); } else{ return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); }}[/CODE]ele detecta se é iPad e caso for, ficará em Landscape em qualquer posiçao que o iPad estiver, pro iPhone faz o contrario.não tive sucesso, nao funcionou.alguém ja fez algo parecido ? Basicamente o que quero é simples, iPhone == Portrait, iPad == LandsCape;O seu único problema nesse trecho do código é que você está retornando o mesmo valor se for um iPad ou iPhone. Troque dentro do else o UIInterfaceOrientationLandscapeLeft por UIInterfaceOrientationPortrait ou UIInterfaceOrientationPortraitUpsideDown. Caso queira dar suporte aos dois essa macro resolve o seu problema: UIInterfaceOrientationIsPortrait(interfaceOrientation).Abaixo segue um trecho de código como exemplo:[CODE]- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return UIInterfaceOrientationIsLandscape(interfaceOrientation);} else { return UIInterfaceOrientationIsPortrait(interfaceOrientation);}}[/CODE] Posso estar errado mas acho que dentro do return é apenas um "=" ao inves de "==" Pois é atribuição e não condição. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return (interfaceOrientation = UIInterfaceOrientationLandscapeLeft); } else{ return (interfaceOrientation = UIInterfaceOrientationLandscapeLeft); } } Caso tenha falado besteira desculpe, ainda não programo em Objective C Nesse caso é uma condição mesmo e não uma atribuição. Denunciar
Postado 12 de março de 201214 anos Autor comment_289858 voce chegou olhar este projeto que postei ? http://www.mediafire.com/?pzmh8jfes4uv55z sem a tabBar funciona perfeitmente como eu quero, mas ao adc a tabBar não funciona... Denunciar
Postado 12 de março de 201214 anos comment_289891 Fiz umas alterações no seu projeto, verifica se é assim que você quer: http://www.mediafire.com/?f1365stb184iio3 As alterações que eu fiz foi selecionar quais as orientações suportadas para cada tipo de dispositivo (iPhone: Portrait e Upside Down / iPad: Landscape left e Landscape right). Alterei o NIB também, adicionei uma UITabBar e setei o autosizing dela. Denunciar
Postado 15 de março de 201214 anos Autor comment_290517 mal a demora, vou baixar aqui e dar uma olhada! Denunciar
Postado 19 de março de 201214 anos Autor comment_291623 depois de uma semana estou respondendo, demorei pois estava viajando... bem, é exatamente isso que preciso no meu app, porém recebo o mesmo problema do inicio, tenho um MainWindow.xib no meu projeto, se adcionar um MainWindow no projeto que me mandou verá que ele nao vai mais responder a rotação. fiz uns testes coloquei return YES;[/CODE] que no caso responderia a todas Orientações mas ele nao da sinal. Denunciar
Postado 19 de março de 201214 anos Autor comment_291652 depois de muitos testes aqui aconsegui resolver o problema. no meu appDelegate.h coloquei: @interface UITabBarController (MyApp)@end[/CODE]e no meu appDelegate.m[CODE]@implementation UITabBarController (MyApp)- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return UIInterfaceOrientationIsLandscape(toInterfaceOrientation); } else { return UIInterfaceOrientationIsPortrait(toInterfaceOrientation); }}@end[/CODE]minha tabBar roda certinho agora Denunciar
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.