반투명 키보드로 MFMessageComposeViewController
을 시작하려고합니다. 나는 그것을 원하는대로 투명하게 만들고 싶지만, 내가 한 독서에서 그렇게 할 수는 없다고 생각합니다.MFMessageComposeViewController 반투명 키보드
MFMessageComposeViewController
을 만들 때 어떻게 UIKeyboard
의 속성을 설정 하시겠습니까?
많은 감사!
반투명 키보드로 MFMessageComposeViewController
을 시작하려고합니다. 나는 그것을 원하는대로 투명하게 만들고 싶지만, 내가 한 독서에서 그렇게 할 수는 없다고 생각합니다.MFMessageComposeViewController 반투명 키보드
MFMessageComposeViewController
을 만들 때 어떻게 UIKeyboard
의 속성을 설정 하시겠습니까?
많은 감사!
그렇지 않습니다. 문서에서 :
중요 메시지 작성 인터페이스 자체는 사용자 정의하지 않고 응용 프로그램에 의해 수정 될 수 없습니다. 또한 인터페이스를 제공 한 후에는 응용 프로그램이 SMS 내용을 더 이상 변경할 수 없습니다. 사용자는 인터페이스를 사용하여 콘텐츠를 편집 할 수 있지만 프로그래밍 방식의 변경은 무시됩니다. 따라서 원하는 경우 인터페이스를 표시하기 전에 내용 필드의 값을 설정해야합니다.
UIKeyboard는 비공개이며이보기의 텍스트 필드는 사용자가 액세스 할 수 없으므로이 인터페이스를 변경하지 않아도됩니다. 보기 계층 구조를 통해이 텍스트 필드에 액세스하여 수정하려고하면 앱 스토어에서 앱이 거부 될 수 있습니다.
텍스트 필드 또는 텍스트보기의 keyboardAppearance 속성을 UIKeyboardAppearanceAlert
으로 설정하면 키보드가 투명 키보드로 변경됩니다. ,
id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance];
그리고 덜 불투명 확인 :
나는 대중 API에서만 두 가지 스타일을 사용할 수있다 들었 :
[textView setKeyboardAppearance:UIKeyboardAppearanceAlert];
[textView setKeyboardAppearance:UIKeyboardAppearanceDefault];
하지만 당신은 키보드 구현을 검색하기 위해 개인 API 방법을 사용할 수 있습니다
[keyboardImpl setAlpha:0.8f];
색조를,
UIView *tint = [[UIView alloc] initWithFrame:[keyboardImpl frame]];
[tint setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:1.0f alpha:0.3f]];
[tint setUserInteractionEnabled:NO];
[[keyboardImpl superview] insertSubview:tint aboveSubview:keyboardImpl];
[tint release];
심지어는 플립 :
[[keyboardImpl window] setTransform:CGAffineTransformMakeScale(-1.0f, 1.0f)];
이이 문제에 대한 해결책이었다 바랍니다.