目標:要連接到iOS Google Drive,請將iOS Google OAuth視圖控制器包裝在程序創建的導航控制器中,然後添加一個取消按鈕以允許用戶取消Google OAuth流程,他們是否應該選擇這樣做。將UINavigationItem添加到包含Google Drive OAuth的UINavigationController
問題:雖然我可以成功地包住的OAuth視圖控制器在導航控制器,I似乎無法添加導航項目,如所期望的取消按鈕。
我添加了一個導航控制器,它包裝的谷歌驅動器的OAuth視圖控制器,如下...
GTMOAuth2ViewControllerTouch *authViewController = nil;
if (!self.isAuthorized) {
SEL selectorFinish = @selector(viewController:finishedWithAuth:error:);
SEL selectorButtonCancel = @selector(buttonCancelTapped:);
authViewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:kGTLAuthScopeDrive
clientID:kClientID
clientSecret:kClientSecret
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:selectorFinish];
UINavigationController *navController = [[UINavigationController alloc] init];
[navController addChildViewController:authViewController];
[self.parentTVC presentViewController:navController animated:YES completion:nil];
}
爲了清楚起見,變量parentTVC
是公共財產,
@property (nonatomic, strong) UITableViewController *parentTVC;
,並使用自定義init方法設置,如下...
- (id)initWithParentTVC:(UITableViewController *)tvc {
self = [super init];
[self setParentTVC:tvc];
return self;
}
我試過泰德UINavigationItem
s添加到該UINavigationController
實例navController
,但是這並不工作,而是我似乎在筆尖文件GTMOAuth2ViewTouch.xib與UIView
與兩個小按鈕(<和>)卡,下面的圖片包含.. 。
我已經通過GTL文件GTMOAuth2ViewControllerTouch.m
讀取嘗試,看看是否有一種方法我能可能使用或我是否可以通過繼承覆蓋,但我在我的努力做到這一點不自信。
我最好的猜測是,任何導航控制器包裹由GTMOAuth2ViewControllerTouch.m
此代碼設置的OAuth視圖控制器...
- (void)setUpNavigation {
rightBarButtonItem_.customView = navButtonsView_;
self.navigationItem.rightBarButtonItem = rightBarButtonItem_;
}
援助嗎?
我道歉...... 就找到了答案在這裏:http://stackoverflow.com/questions/21453691/google-drive-ios-sdk-display-cancel-login-button – andrewbuilder
請註明您的答案是正確的。將有助於他人。 – Shad
謝謝@SHAD會做。我已經嘗試過這一點,但顯然我必須等待2天......?同時,爲了確認,這個答案是正確的,並在我的應用程序中工作。 – andrewbuilder