Respostas:
Sim, UIAlertView
provavelmente é o que você está procurando. Aqui está um exemplo:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
message:@"You must be connected to the internet to use this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
Se você deseja fazer algo mais sofisticado, digamos, exibir uma interface do usuário personalizada na sua UIAlertView
, você pode subclassificar UIAlertView
e colocar componentes de interface do usuário personalizados no init
método. Se você deseja responder a um pressionamento de botão após a UIAlertView
exibição, é possível definir o delegate
acima e implementar o - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
método.
Você também pode querer olhar para o UIActionSheet
.
Pessoas diferentes que chegam a essa pergunta significam coisas diferentes em uma caixa pop-up. Eu recomendo a leitura da documentação das Exibições Temporárias . Minha resposta é em grande parte um resumo desta e de outras documentações relacionadas.
Os alertas exibem um título e uma mensagem opcional. O usuário deve reconhecê-lo (um alerta de um botão) ou fazer uma escolha simples (um alerta de dois botões) antes de continuar. Você cria um alerta com um UIAlertController
.
Vale citar o aviso e os conselhos da documentação sobre a criação de alertas desnecessários.
Notas:
UIAlertView
foi preterida. Você deve usar UIAlertController
para criar alertas agora.As folhas de ação fornecem ao usuário uma lista de opções. Eles aparecem na parte inferior da tela ou em uma janela pop-up, dependendo do tamanho e da orientação do dispositivo. Como nos alertas, a UIAlertController
é usado para criar uma folha de ação. Antes do iOS 8, UIActionSheet
era usado, mas agora a documentação diz:
Importante:
UIActionSheet
foi descontinuado no iOS 8. (Observe queUIActionSheetDelegate
também está descontinuado.) Para criar e gerenciar folhas de ação no iOS 8 e posterior, useUIAlertController
umpreferredStyle
dosUIAlertControllerStyleActionSheet
.
Uma visão modal é uma visão independente que possui tudo o que é necessário para concluir uma tarefa. Pode ou não ocupar a tela cheia. Para criar uma exibição modal, use a UIPresentationController
com um dos estilos de apresentação modal .
Veja também
Uma popover é uma exibição que aparece quando um usuário toca em algo e desaparece ao tocá-lo. Possui uma seta mostrando o controle ou o local de onde a torneira foi feita. O conteúdo pode ser qualquer coisa que você possa colocar em um View Controller. Você faz uma popover com a UIPopoverPresentationController
. (Antes do iOS 8, UIPopoverController
era o método recomendado.)
No passado, os popovers estavam disponíveis apenas no iPad, mas a partir do iOS 8 você também pode obtê-los em um iPhone (veja aqui , aqui e aqui ).
Veja também
As notificações são sons / vibrações, alertas / banners ou emblemas que notificam o usuário sobre algo, mesmo quando o aplicativo não está sendo executado em primeiro plano.
Veja também
No Android, um Toast é uma mensagem curta exibida na tela por um curto período de tempo e desaparece automaticamente sem interromper a interação do usuário com o aplicativo.
Pessoas provenientes de um plano de fundo Android querem saber qual é a versão para iOS do Toast. Alguns exemplos dessas perguntas podem ser encontrados aqui , aqui , aqui e aqui . A resposta é que não há equivalente a um brinde no iOS . Várias soluções alternativas que foram apresentadas incluem:
UIView
No entanto, meu conselho é seguir as opções de interface do usuário padrão que já vêm com o iOS. Não tente fazer com que seu aplicativo pareça e se comporte exatamente da mesma forma que a versão do Android. Pense em como reembalá-lo para que pareça e pareça um aplicativo iOS.
Desde o lançamento do iOS 8, UIAlertView
agora está obsoleto; UIAlertController é a substituição.
Aqui está um exemplo de como fica no Swift:
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
Como você pode ver, a API nos permite implementar retornos de chamada para a ação e quando estamos apresentando o alerta, o que é bastante útil!
Atualizado para o Swift 4.2
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertController.Style.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertAction.Style.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
Atualizado para iOS 8.0
Desde o iOS 8.0, você precisará usar o UIAlertController da seguinte maneira:
-(void)alertMessage:(NSString*)message
{
UIAlertController* alert = [UIAlertController
alertControllerWithTitle:@"Alert"
message:message
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction
actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
}
Onde self no meu exemplo é um UIViewController, que implementa o método "presentViewController" para um pop-up.
David
Para Swift 3 e Swift 4:
Como o UIAlertView está obsoleto, existe uma boa maneira de exibir Alert on Swift 3
let alertController = UIAlertController(title: NSLocalizedString("No network connection",comment:""), message: NSLocalizedString("connected to the internet to use this app.",comment:""), preferredStyle: .alert)
let defaultAction = UIAlertAction(title: NSLocalizedString("Ok", comment: ""), style: .default, handler: { (pAlert) in
//Do whatever you want here
})
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
Descontinuada :
Esta é a versão rápida inspirada na resposta verificada:
Exibir AlertView:
let alert = UIAlertView(title: "No network connection",
message: "You must be connected to the internet to use this app.", delegate: nil, cancelButtonTitle: "Ok")
alert.delegate = self
alert.show()
Adicione o delegado ao seu controlador de exibição:
class AgendaViewController: UIViewController, UIAlertViewDelegate
Quando o usuário clicar no botão, este código será executado:
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
}
Embora eu já tenha escrito uma visão geral dos diferentes tipos de pop-ups, a maioria das pessoas só precisa de um alerta.
class ViewController: UIViewController {
@IBAction func showAlertButtonTapped(_ sender: UIButton) {
// create the alert
let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))
// show the alert
self.present(alert, animated: true, completion: nil)
}
}
Minha resposta mais completa está aqui .
Aqui está a versão C # no Xamarin.iOS
var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();