如果视频上传到 Facebook 失败,我有一个方法会被调用。如果调用该方法,那么我希望 aUILabel
在上传失败时用户碰巧在的任何视图控制器中短暂出现。
这可能吗?
我之前问过一个关于 a 的类似问题UIAlertView
,但我意识到在某些情况下,警报可能会对用户体验产生负面影响。
如果视频上传到 Facebook 失败,我有一个方法会被调用。如果调用该方法,那么我希望 aUILabel
在上传失败时用户碰巧在的任何视图控制器中短暂出现。
这可能吗?
我之前问过一个关于 a 的类似问题UIAlertView
,但我意识到在某些情况下,警报可能会对用户体验产生负面影响。
您可以通过多种方式做到这一点 -
1)您可以添加UILabel
到您的应用程序 main Window
。
2)如果您使用的是 aUINavigationController
那么您将获得 current 的实例,viewcontroller
然后可以添加UILabel
到其视图中。
3)如果您在这种情况下使用 a ,您还可以通过访问's selected来获取UITabBarController
current 的实例viewcontroller
tabBarController
viewcontroller.
我在下面发布的这段代码来自 facebook 的HackBook示例应用程序。他们所做的与您想要的相似。
- (void)showMessage:(NSString *)message {
CGRect labelFrame = messageView.frame;
labelFrame.origin.y = [UIScreen mainScreen].bounds.size.height - self.navigationController.navigationBar.frame.size.height - 20;
messageView.frame = labelFrame;
messageLabel.text = message;
messageView.hidden = NO;
// Use animation to show the message from the bottom then
// hide it.
[UIView animateWithDuration:0.5
delay:1.0
options: UIViewAnimationCurveEaseOut
animations:^{
CGRect labelFrame = messageView.frame;
labelFrame.origin.y -= labelFrame.size.height;
messageView.frame = labelFrame;
}
completion:^(BOOL finished){
if (finished) {
[UIView animateWithDuration:0.5
delay:3.0
options: UIViewAnimationCurveEaseOut
animations:^{
CGRect labelFrame = messageView.frame;
labelFrame.origin.y += messageView.frame.size.height;
// UIView *messageView; declared in header
messageView.frame = labelFrame;
}
completion:^(BOOL finished){
if (finished) {
messageView.hidden = YES;
messageLabel.text = @"";
}
}];
}
}];
}