2014-12-10 3 views
0

문제 :UIAlertView는 키보드의 라인을 보여주는 iOS8의

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 

    UITextField *txtName = nil; 

    if(buttonIndex == 1){ // save project name 
     txtName = (UITextField *)[alertView textFieldAtIndex:0]; 

     if(txtName && txtName.text && [txtName.text length] > 0 && ![txtName.text isEqualToString:@" "]) { 

      //SPAppDelegate *appdelegate = (SPAppDelegate*)[[UIApplication sharedApplication] delegate]; 
      NSString *filePath = nil; 

      //if(![appdelegate isProjectNameAlreadyExist:txtName.text]){ 
      if(![SPUtility isProjectNameAlreadyExist:txtName.text]){ 
       //filePath = [appdelegate getProjectPathWthName:txtName.text]; 
       filePath = [SPUtility getProjectPathWthName:txtName.text]; 
       [self loadProjectList]; 
      } 
      else{ 
       [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Project name already exists." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; 
      } 
     } 
     else{ 
      [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Project name is empty." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; 
     } 
    } 
} 

문제가되어야합니다 iOS8의에서

UIAlertView는 키보드

다음

코드입니다에 대한 행을 보여주는 여기 어딘가에서 일어나고 있습니다 ***

-(void) launchProjectNameInputAlert{ 

    /*_alertView = nil; 

    _alertView = [[UIAlertView alloc] initWithTitle:@"test" message:@"test1" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

    [_alertView show];*/ 

    _isShowAlert = YES; //boolean variable 

    //_alertView =[[UIAlertView alloc] initWithTitle:@"ADD item" message:@"Put it blank textfield will cover this" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@" " message:@" " delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 

    alertView.alertViewStyle = UIAlertViewStylePlainTextInput; 

    UITextField *txtName = [alertView textFieldAtIndex:0]; 
    [email protected]""; 
    //txtName.tag = 1000; 
    //[txtName setBackgroundColor:[UIColor blackColor]]; 
    [txtName setKeyboardAppearance:UIKeyboardAppearanceAlert]; 
    [txtName setAutocorrectionType:UITextAutocorrectionTypeNo]; 
    [txtName setTextAlignment:NSTextAlignmentLeft]; 
    txtName.placeholder = @"Project Name"; 
    [alertView addSubview:txtName]; 
    [alertView show]; 

} 

누군가 체크 아웃 할 수 있습니까?

다음은 참조 용으로 Image의 링크입니다.

+0

사진을 제공하거나 문제를 자세히 설명 할 수 있습니까? 문맥에서 벗어난 코드는 이해가되지 않습니다. 키보드에 대한 줄만 표시한다는 것은 무엇을 의미합니까? 필자는 텍스트 필드라고 가정하지만 확실하지는 않습니다. 어느 방식 으로든 우리는 자신의 비전이 무엇인지, 또는 무엇을 원하는지 알 수 없습니다. – soulshined

+0

나는 여기에 그림을 보내기에 충분한 평판이 없다. 내 비디오 편집기의 프로젝트 목록에 대한 내 알림 팝업은 ios7에서 작동합니다. 이제 ios8에 팝업이 표시되고 프로젝트를 입력 할 줄이 표시됩니다. 더 이상 프로젝트를 만들기 위해 아무 것도 입력 할 수 있습니다. 표준 iOS 알림 팝업 –

+0

사진을 fyi와 연결할 수 있습니다. – soulshined

답변

0

콜린;

우선 iOS 8은 경고보기를 사용 중지했습니다. 왜? 새 버전은 훨씬 강력하며 쉽게 사용자 정의 할 수 있습니다. 그러나 clickedButtonAtIndex를 사용하여 결과를 제어하는 ​​것처럼 느껴질 수도 있습니다. 그러나 이러한 서비스는 새로운 UIAlertController로 쉽게 번역됩니다. 하나는 대리인이 필요하지 않으며 두 개는 모두 블록 단위로 수행됩니다. 또한 동일한 UIAlertController가 Alert 또는 Action Sheet를 제공합니다. 그들은 더 이상 분리되어 있지 않습니다. 여기

은 예입니다

UIAlertController *alertC = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; // Populates an action Sheet 

UIAlertController *alertC = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert]; //Alert 

그럼 당신은 단순히

UIAlertAction *action = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:nil]; 

가 UIAlertController에 작업을 추가하고보기로 제시 그들에게 작업을 추가하거나 애니메이션이나 무기 호 :

[alertC addAction:action]; 
[self presentViewController:alertC animated:NO completion:nil]; 

원하는 결과를 복제하기 위해 수많은 자습서가 있습니다.

Use Your Loaf은 UIAlertViews에 걸린 사람들을위한 단계별 자습서에서 뛰어난 작업을 수행 한 것 같습니다.

긴 if 문 대신 블록에서 모든 코드를 처리 할 수 ​​있으므로이 새로운 방법을 활용하는 것이 좋습니다. 이유 때문에 사용되지 않습니다.

+0

고마워요. 아마도 제가 체크 아웃 할 것입니다. 나는 주변 상황을 어디서부터 바꾸어야할지 모르겠다. –

+0

나는 그것을 이해하려고 노력 중이다. 나는 지금 그것을 읽고있다. 코드가 너무 많아서 내가하는 일을 정확히 모르겠다. 나는 코더가 아니며, 그것에 관한 책을 몇 권 읽었다. 그립을 얻으려고 노력하고 있습니다. 저를 위해 비디오 편집기를 만든 사람이 있었는데, 이제는 그 프로젝트 화면을 작동시킬 수 없습니다. 귀하의 링크에있는 단계를 따르도록 노력할 것입니다. –