programing

iOS에서 팝업 대화 상자를 구현하는 방법은 무엇입니까?

oldcodes 2023. 4. 29. 09:51
반응형

iOS에서 팝업 대화 상자를 구현하는 방법은 무엇입니까?

계산 후 사용자에게 메시지를 전달하는 팝업 또는 알림 상자를 표시하려고 합니다.이것에 대한 자세한 정보를 어디서 찾을 수 있는지 아는 사람이 있습니까?

a 네, a.UIAlertView아마 당신이 찾고 있는 것일 겁니다.다음은 예입니다.

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];

더 을 하고 , 당신의 사용자 를 당신의 사용자 정의 UI에 .UIAlertView당신은 서브클래스 할 수 있습니다.UIAlertView 구성 를 자용성 UI 를에추에 .init방법.버튼에 응답하려면 다음을 누릅니다.UIAlertView나타나는 경우 설정할 수 있습니다.delegate에서 위에서 에▁the실을 합니다.- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex방법.

당신은 또한 그것을 보는 것이 좋습니다.UIActionSheet.

이 질문에 도달하는 다른 사람들은 팝업 상자로 다른 것들을 의미합니다.임시 보기 문서를 읽는 것이 좋습니다.제 대답은 대체로 이 문서 및 기타 관련 문서의 요약입니다.

알림(예 보기)

여기에 이미지 설명 입력

알림은 제목과 선택적 메시지를 표시합니다.계속하기 전에 사용자가 승인(원버튼 경보)하거나 간단한 선택(투버튼 경보)을 해야 합니다.를 사용하여 알림을 생성합니다.

불필요한 경고 생성에 대한 설명서의 경고와 조언을 인용할 가치가 있습니다.

여기에 이미지 설명 입력

주의:

  • 참고 항목알림 보기, iOS 8에서 시작UIAlertView사용되지 않습니다.당신은 야합다니해를 사용해야 .UIAlertController지금 알림을 생성합니다.
  • iOS 기본 사항: UIAertViewUIAert 컨트롤러(튜토리얼)

작업 시트(예 보기)

여기에 이미지 설명 입력

수행 시트는 사용자에게 선택 목록을 제공합니다.장치의 크기와 방향에 따라 화면 하단이나 팝업 창에 나타납니다.경고와 마찬가지로,UIAlertController수행 시트를 만드는 데 사용됩니다.8 이전, iOS 8 이전 버전UIActionSheet사용되었지만 이제 설명서에는 다음과 같이 나와 있습니다.

중요: UIActionSheet8에서 더 되지 않습니다. ( 8은 다음과 같습니다.)UIActionSheetDelegate또한 더 이상 사용하지 않습니다.iOS 8 이상에서 작업 시트를 만들고 관리하려면 대신 a와 함께 사용합니다.

모달 보기(예 보기)

여기에 이미지 설명 입력

모달 보기는 태스크를 완료하는 데 필요한 모든 것을 갖춘 자체 포함 보기입니다.전체 화면을 차지할 수도 있고 그렇지 않을 수도 있습니다.모달 뷰를 작성하려면 모달 프리젠테이션 스타일 중 하나와 함께 를 사용합니다.

참고 항목

팝업(예를 들어 보기)

여기에 이미지 설명 입력

Popover는 사용자가 무언가를 탭할 때 나타나는 보기이며 탭할 때 사라집니다.탭이 만들어진 위치 또는 컨트롤을 나타내는 화살표가 있습니다.내용은 보기 컨트롤러에 넣을 수 있는 모든 내용일 수 있습니다.를 사용하여 팝업을 만듭니다(iOS 8 이전에는 권장되는 방법이었습니다).

이전에는 iPad에서만 팝업을 사용할 수 있었지만 iOS 8부터는 iPhone에서도 팝업을 사용할 수 있습니다(여기, 여기 및 여기 참조).

참고 항목

알림

여기에 이미지 설명 입력

알림은 앱이 포그라운드에서 실행되지 않는 경우에도 사용자에게 무언가를 알리는 소리/진동, 경고/배너 또는 배지입니다.

여기에 이미지 설명 입력

참고 항목

Android 토스트에 대한 참고 사항

여기에 이미지 설명 입력

Android에서 토스트는 짧은 시간 동안 화면에 표시된 다음 앱과의 사용자 상호 작용을 방해하지 않고 자동으로 사라지는 짧은 메시지입니다.

Android 배경을 가진 사람들은 토스트의 iOS 버전이 무엇인지 알고 싶어합니다.이러한 질문의 몇 가지 예를 여기, 여기, 여기, 그리고 여기에서 찾을 수 있습니다.답은 iOS에는 토스트에 해당하는 것이 없다는 것입니다.제시된 다양한 해결 방법은 다음과 같습니다.

  • 분류로 당신만의 것을 .UIView
  • 토스트를 모방한 타사 프로젝트 가져오기
  • 타이머와 함께 버튼 없는 알림 사용

하지만 이미 iOS와 함께 제공되는 표준 UI 옵션을 고수하는 것이 좋습니다.당신의 앱을 안드로이드 버전과 똑같이 보이게 하고 행동하려고 하지 마세요.iOS 앱처럼 보이고 느껴지도록 재포장하는 방법을 생각해보세요.

8, 8 출시 이후,UIAlertView이제는 더 이상 사용되지 않습니다. UIAertController가 대체 버전입니다.

다음은 Swift 5에서 어떻게 보이는지에 대한 샘플입니다.

let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: .alert)
let alertAction = UIAlertAction(title: "OK!", style: .default) { (sender: UIAlertAction) -> Void in
    // ... Maybe handle "OK!" being tapped.
}
alert.addAction(alertAction)

// Show.
present(alert, animated: true) { () -> Void in
    // ... Maybe do something once showing is complete.
}

보시다시피 API를 사용하면 작업과 경고를 표시할 때 모두 콜백을 구현할 수 있으며, 이는 매우 편리합니다!

이전 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
}

iOS 8.0부터는 다음과 같이 UIAertController를 사용해야 합니다.

-(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];
}
  

어디에self예를 들어 UIViewController는 팝업에 대해 "presentViewController" 메서드를 구현합니다.

스위프트 3 및 스위프트 4의 경우:

UIAertView는 더 이상 사용되지 않으므로 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)

사용되지 않음:

다음은 확인된 응답에서 영감을 얻은 빠른 버전입니다.

경고 보기 표시:

   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()

뷰 컨트롤러에 대리자 추가:

class AgendaViewController: UIViewController, UIAlertViewDelegate

사용자가 버튼을 클릭하면 이 코드가 실행됩니다.

func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {


}

이미 여러 종류의 팝업에 대한 개요를 작성했지만 대부분의 사용자는 알림만 있으면 됩니다.

팝업 구현 방법 대화 상자

여기에 이미지 설명 입력

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)
    }
}

제 완전한 대답은 여기 있습니다.

여기 사마린의 C# 버전이 있습니다.OS

var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();

언급URL : https://stackoverflow.com/questions/4988564/how-to-implement-a-pop-up-dialog-box-in-ios

반응형