我在我的应用中使用FBConnect。登录操作表按钮的标题是“登录Facebook”和“LogOut Facebook”,但我想显示“登录Facebook”和“发布到Facebook”。目前,它看起来像这样......
alt text http://freezpic.com/pics/6944f45f17ba4bbb8220637d5a00a1c6.jpg
...但我希望它看起来像这样......
alt text http://www.freezpic.com/pics/93f28f4f9103f0842c849d7daa644f81.jpg
......可能在这些方法中设置:
- (void)session:(FBSession*)session didLogin:(FBUID)uid {
//Show button log out
}
- (void)sessionDidLogout:(FBSession*)session {
//show button log in
}
Edit01-来自回答评论的警报表代码:
-(IBAction)mySheet:(id)sender {
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"FaceBook"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Share On the Facebook" ,
@"Log in Facebook" ,
@"LogOut Facebook" ,nil];
[menu showInView:self.view];
[menu release];
}
答案 0 :(得分:2)
当然,根据Facebook连接的状态,只显示一个不同的UIActionSheet,只显示这两个按钮。
怎么样:
-(IBAction)mySheet:(id)sender
{
if (alreadyLoggedInToFacebook) {
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"FaceBook"
delegate:self cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles: @"Share On the Facebook" , @"Log in Facebook" ,
@"LogOut Facebook" ,nil];
} else {
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"FaceBook"
delegate:self cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles: @"LogOut Facebook" ,nil];
}
[menu showInView:self.view];
[menu release];
}
答案 1 :(得分:0)
最后我实现了! (alreadyLoggedInToFacebook)
必须为(season.isConnect)
。一切都是好的 !但仍然是一个问题。登录后 - 注销和分享显示很棒但不起作用!这意味着如果用户点击退出按钮,再次出现登录窗口!为什么?我认为,因为FBLoginButton
,当delet这个方法我的UIActionSheet没有显示
!这是我的代码:
-(IBAction)mySheet:(id)sender
{
if (session.isConnected) {
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"FaceBook"
delegate:self cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles: @"Share On the Facebook" , @"Log out Facebook" ,nil];
[menu showInView:self.view];
[menu release];
} else {
UIActionSheet *menu2 = [[UIActionSheet alloc] initWithTitle:@"FaceBook"
delegate:self cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles: @"Log in Facebook" ,
nil];
[menu2 showInView:self.view];
[menu2 release];
}
}
- (void)actionSheet:(UIActionSheet *)menu2 didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex != [menu2 cancelButtonIndex])
{
FBLoginDialog* login = [[FBLoginDialog alloc] initWithSession:session];
[login show];
[login release];
}
}
- (void)actionSheet:(UIActionSheet *)menu didDismissWithButtonIndex2:(NSInteger)buttonIndex {
if (buttonIndex != [menu cancelButtonIndex])
{
[session logout];
}
}