Esse post vai em homenagem a minha turma do Curso de iOS à distância que ministrei no CESAR.edu. Foram deles as dúvidas abaixo que resolvi compartilhar com vocês.
Dica 1 - Adicionando UITableView ao UIAlertView
Podemos adicionar qualquer UIView dentro de um UIAlertView. Basta usar o método addSubView e posicioná-la da maneira que deseja. O que achei "feio" aqui é que para determinar o tamanho do alert setamos o texto dele com "\n". Poderíamos utilizar o método initWithFrame, mas achei o código ainda mais complexo (embora mais preciso em termos de tamanho).
UITableView *table =
[[UITableView alloc]
initWithFrame:CGRectMake(10, 50, 265, 100)];
table.dataSource = self;
table.delegate = self;
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Escolha uma opção"
message:@"\n\n\n\n\n"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[alert addSubview:table];
alert.autoresizesSubviews = YES;
[alert show];
Tem uma opção interessante aqui também.
Dica 2 - Desabilitando um segmento do UISegmentedControl
Essa foi simples de achar, mas na aula passou desapercebido.
[_meuSegmentedControl setEnabled:NO forSegmentAtIndex:0];
Dica 3 - Definir o badge da aplicação
O badge nada mais é do que o número que aparece em cima do ícone da aplicação, por exemplo quanto temos chamadas não atendidas e/ou mensagens recebidas.
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:12];
Dica 4 - Adicionar View ao teclado
Ao invés de criar a view no código, você pode adicionar a mesma no XIB da tela e setar a propriedade inputAccessoryView. Para exemplificar, adicionei uma Toolbar ao XIB e crie um IBOutlet para ela.
@interface NGViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtSobrenome; @property (weak, nonatomic) IBOutlet UIToolbar *minhaBarra; @endDepois é só colocar isso no viewDidLoad
[_txtSobrenome setInputAccessoryView:_minhaBarra];
Dica 5 - Ocultar teclado virtual
Sempre xingava o iOS por ter que ocultar o teclado via código. Mas achei a melhor maneira para ocultar o teclado. É só usar o método touchesBegan:withEvent da classe UIRespoder (super classe de UIView e UIViewController) e chamar o método endEditing da UIView.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}
Independente da quantidade de UITextFields, o teclado vai sempre desaparecer.Dicas 6 - Obtendo a orientação
Uma das melhores maneiras de obter a orientação do dispositivo é a abaixo:
// Verifica se é portrait ou portrait upsidedown
if (UIDeviceOrientationIsPortrait(
[[UIApplication sharedApplication]
statusBarOrientation])){
}
Essa abordagem resolve alguns problemas que já tive. Por exemplo, quando o telefone está sobre a mesa, o método [[UIDevice currentDevice]orientation] retorna a orientação UIDeviceOrientationFaceUp (com o display para cima), enquanto que o método acima retorna a orientação da barra de status do aparelho e não do aparelho em si.
Qualquer dúvida (ou sugestão), deixem seus comentários,
4br4ç05
nglauber


Um comentário:
Muito legal essas dicas Professor!
Postar um comentário