2012-10-28 2 views
6

몇 가지 앱이 키보드를 확장하지만 사용하는 방법을 알고 싶습니다.iPhone에서 키보드 그라디언트를 확장하는 방법은 무엇입니까?

다음은 2 가지 예입니다. & Prompt

Textastic

지금 내가 UITextView에 inputAccessoryView을 추가 할 수 있다는 것을 알고 있지만, 그것은 여전히 ​​이미지 울부 짖는 소리에 같은 UIToolbar에서 키보드를 분리 작은 얇은 선이있다.

enter image description here

그들은 그것을 어떻게합니까? 키보드를 보유하고 있거나 다른 방식으로 UIWindow를 확장하고 있습니까? 대답과 함께

업데이트 1 : Tyraz 쓴

그래서 사용한 솔루션입니다.

  1. 되도록 회전 할 때 3 개 화소
의 높이와, 키보드를 포함하는 대신에 I 키보드 구배 및 UIViewAutoResizingMaskFlexibleWidth와 마무리 컬러와 동일한 배경 색상에 UIView를 사용한 화상
  • 서브 클래스 UIToolbar 다음

    는 서브 클래스 UIToolbar

    - (void)didMoveToSuperview { 
    
        [self.separatorHideView removeFromSuperview]; 
    
        CGRect seperatorRect = CGRectMake(self.frame.origin.x, 
                 self.frame.size.height, 
                 self.frame.size.width, 
                 3.0); 
    
        self.separatorHideView = [[UIView alloc]]; 
        self.separatorHideView.backgroundColor = [UIColor colorWithRed:0.569 green:0.600 blue:0.643 alpha:1.000]; 
        self.separatorHideView.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
        [self addSubview:self.separatorHideView]; 
    } 
    

    업데이트 2 코드입니다 : 여기 UIT에 추가 해요 어떻게 코드가 extView와 내가 색조를 위해 사용하고있는 색.

    나는 코드를

    CustomToolbar *accessoryToolbar = [[CustomToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 38)]; 
        accessoryToolbar.tintColor = [UIColor colorWithRed:0.569 green:0.600 blue:0.643 alpha:1.000]; 
        editor.inputAccessoryView = accessoryToolbar; 
    

    을 다음과 같이있는 viewDidLoad에서 UITextView에 추가 해요 그리고 이것은이 적용된 솔루션과 같은 모습입니다

    enter image description here

  • +0

    하이 아마르을! 실제로 입력 된 액세서리보기 (예 : UIToolbar)가 여기에 설명 된 것과 같은 모습을 갖도록 개선하려고합니다. separatorHideView 배경색의 정확한 색상 설정을 게시 하시겠습니까? UIToolbar에 키보드에 맞는 그 레이디 언트 그라디언트를 적용하려면 어떻게해야합니까?미리 많은 감사드립니다! –

    +0

    안녕하세요 Nenad. 문제 없어. 위의 코드에서 색상이 표시되지 않는 이유를 모르지만 해결할 것입니다. –

    +0

    대단히 감사합니다! 나를 위해 일했다! –

    답변

    4
    내가 사용하려고 것이다

    inputAccessoryView와 분리 선의 맨 위에 앉아서 "간격을 채우는"두 번째보기.

    일단 키보드에 inputAccessoryView가 추가되면 (액세서리 UIView 하위 클래스의 didMoveToSuperview 메소드를 덮어 쓰면 알림이 발생 함) inputAccessoryView의 수퍼 뷰에 추가하십시오. 나는 또한 키보드의 프레임이 변경되는 경우에 gapView의 프레임을 업데이트 액세서리 UIView 하위에 setFrame을 덮어 쓰게

    - (void)didMoveToSuperview { 
        [self.separatorHideView removeFromSuperview]; 
    
        CGRect seperatorRect = CGRectMake(self.frame.origin.x, 
                self.frame.origin.y + self.frame.size.height, 
                self.frame.size.width, 
                2.0); 
    
        UIImage *gapGradient = [UIImage imageNamed:@"GapGradient"]; 
        self.separatorHideView = [[UIImageView alloc]initWithImage:gapGradient]; 
        self.separatorHideView.frame = seperatorRect; 
    
        [self.superview addSubview:self.separatorHideView]; 
    } 
    

    :

    은 액세서리 UIView 하위에 그런 일이어야한다.

    +0

    이것은 문제의 해결책입니다. 나는 anser에게 질문을 업데이트 할 것이다. –

    6

    iOS 7의 당신은 inputAccessoryView 쉽게 키보드 스타일에 맞게 만들 수 있습니다

    [[UIInputView alloc] initWithFrame:<#frame#> 
            inputViewStyle:UIInputViewStyleKeyboard]; 
    
    관련 문제