如何将UIKeyboardAppearanceDark与SLComposeViewController结合使用
SLComposeViewController类向用户提供一个视图,用于为支持的社交网络服务撰写帖子。
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[self presentViewController:controller
animated:YES
completion:nil];丑陋!
这就是光键盘在黑暗背景下的样子:

模仿者!
暗键盘的背景是这样的:

发布于 2014-05-18 10:07:57
我试过几种方法。我发现起作用的唯一方法是自定义整个ComposeViewController.我也相信这是唯一可行的方法。
我找到了一个名为REComposeViewController的开源项目,我将其定制为默认的UIKeyboardAppearanceDark。我已经上传到Github,你可以下载和玩它。
项目:https://github.com/voyage11/SLComposeViewControllerWithBlackKeyboard
随附屏幕截图:

发布于 2014-05-21 05:35:53
在仔细了解了您所面临的问题并进行了一些研发之后,我建议您选择Custom ComposeViewController,因为您不能更改keyboardAppearance of ComposeViewController's键盘。
要实现自定义 ComposeViewController,请执行以下步骤:
1)创建了一些自定义视图,如SLComposeViewController's视图。
2)在post按钮上的,您需要在SLComposeViewControllerResultDone中实现逻辑
[_shareComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result)
{
switch (result)
{
case SLComposeViewControllerResultCancelled:
break;
case SLComposeViewControllerResultDone:
{
}
break;
default:
break;
}
}];3),当您想显示自定义视图时,请确保您在自定义视图中使用的textView必须将keyboardAppearance's属性分配给UIKeyboardAppearanceDark。
self.yourTextField.keyboardAppearance = UIKeyboardAppearanceDark;下面是我在最近的一个项目中实现的自定义视图的图片。

希望它能对你有帮助。
发布于 2014-05-17 16:14:43
这是一个私有类,因此您唯一的机会是在SLComposeViewController加载视图之后遍历视图层次结构,找到相应的UITextField并将keyboardAppearance设置为UIKeyboardAppearanceDark。
更新划痕,即使遍历视图层次结构也很棘手(不可能),因为它使用XPC和远程视图。
https://stackoverflow.com/questions/23601206
复制相似问题