iOS 8 今日小部件 - SLComposeViewController 未正确显示
Posted
技术标签:
【中文标题】iOS 8 今日小部件 - SLComposeViewController 未正确显示【英文标题】:iOS 8 Today Widget - SLComposeViewController not displaying properly 【发布时间】:2014-06-09 06:45:56 【问题描述】:我使用 Xcode 6 创建了一个扩展程序,实际上是一个 Today Widget,并在我的 ios 8 beta 设备上运行它(我是一名注册的 iOS 开发人员)。
但是,作为开发新手,我遇到了这个问题,SLComposeViewController
被“卡”在其视图中(如下所示),认为用户无法与其交互,因此无法发布一条推文。
有没有办法解决这个问题并将SLComposeViewController
放在前面,在通知中心窗格的前面?任何帮助将不胜感激。
编辑:(耶,修复了“Hello World”文本)
第二次编辑:这是我的SLComposeViewController
代码:
- (IBAction)TwitterShare:(id)sender;
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeTwitter];
[self presentViewController:tweetSheet animated:YES completion:nil];
else
UIAlertView *twitterAlert = [[UIAlertView alloc] initWithTitle:@"Uh oh!" message:@"Ensure you have setup a valid Twitter account and/or you have allowed access for Twitter in this application." delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];
[twitterAlert show];
twitterAlert = nil;
【问题讨论】:
你能分享你的 SLComposeViewController 代码吗? 如上共享,任何帮助都会很棒! 仅供参考 IIRC,您不能使用 Today 扩展中的键盘。让我试着找到这方面的参考。 找到了。来自App Extensions Programming Guide:“由于用户与小部件的交互快速且有限,因此您应该设计一个简单、流线型的 UI,突出用户感兴趣的信息。一般来说,限制交互项目的数量是一个好主意。小部件。特别是,请注意,iOS 小部件不支持键盘输入。" 看来你真的需要adjust the height 【参考方案1】:根据 Apple 的文档,SLComposeViewController 不允许在 NC 中显示。他们希望任何需要键盘输入的事情都发生在应用内。
【讨论】:
以上是关于iOS 8 今日小部件 - SLComposeViewController 未正确显示的主要内容,如果未能解决你的问题,请参考以下文章