2010-02-02 124 views
0

我在我的應用程序中使用FBConnect。登錄操作表按鈕是標題「登錄Facebook」和「登出Facebook」,但我想顯示「登錄Facebook」和「發佈到Facebook」。目前,它看起來像這樣...iPhone:是否可以隱藏和取消隱藏UIACtionSheet按鈕?

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

最後我實現了! (alreadyLoggedInToFacebook)必須是(season.isConnect)。一切都很好 !但仍然是一個問題。登錄後 - 註銷和共享顯示偉大但沒有很好的工作!這意味着如果用戶點擊註銷按鈕,登錄窗口再次出現!爲什麼?我認爲,因爲FBLoginButton,當刪除此方法我的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]; 
    } 

} 
2

當然,只是顯示一個不同的UIActionSheet,只有這兩個按鈕取決於Facebook連接的狀態。

什麼:

-(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]; 
} 
+0

對不起,我不完全明白! 你能告訴我的代碼? 我實施UIActionSheet有了這個代碼:: - (IBAction爲)MySheet的工作:(ID)發送方{ \t UIActionSheet *菜單= [[UIActionSheet的alloc] initWithTitle:@ 「臉譜」 委託:自cancelButtonTitle:@ 「取消」 destructiveButtonTitle:零 \t \t \t \t \t \t \t \t \t \t \t otherButtonTitles:@ 「分享在臉譜」,@ 「登錄者」,@ 「註銷臉譜」,零]。 \t [menu showInView:self.view]; \t [menu release]; \t \t \t} – Momi 2010-02-02 12:37:17

+0

編輯您的問題以包含驗證碼。我看不懂:-) – 2010-02-02 13:57:11

+0

這個問題已編輯!:) – Momi 2010-02-02 15:32:15