我有一種情況,我想從前一個視圖去往前一個視圖。 一個MainView調用模態CWViewC調用模態CRViewC &調用模態CRDViewC - 在CRDViewC中的一個動作事件我需要返回到CWViewC &更新它的一個組件。iOS如何前往以前的視圖
我想在我的應用程序中使用navigationController,但無法設置它,因此現在根本沒有使用它。我也很害怕和Segue一起玩,認爲它可能會影響到應用程序的兼容性:(我在網上搜索類似的情況,但無法找到解決方案。
我可以考慮發送任何類型的通知到CWViewc從CRDViewC,但再怎麼實現它在兩個相應的類&如何擺脫的(我的意思是接近),那麼CRViewC。
所以,請建議和指導我要同解決問題。
任何幫助,高度讚賞。謝謝。
編輯:
我的需求是我必須調用LoginVC之前&我的主要scrn是MAinTabVC。所以我做了我的應用程序TabbedTemplate &我從AppDelgate &登錄成功時從AppDelegate調用我的LoginVC,我的MainTabVC出現。這是我打電話給我的登錄:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Get the StartupData properties from device
MC_Utility *utility = [[MC_Utility alloc] init];
self.theAppDataObject.startupData = [utility retrieveLocalData];
NSLog(@"READ Loigin On Launch - %@", self.theAppDataObject.startupData.loginOnLaunch);
utility = nil;
// Show Login view if not logged On
if (!self.isLoggedIn) {
[self showLoginScreen:NO];
}
return YES;
}
-(void) showLoginScreen:(BOOL)animated {
// Get login screen from storyboard and present it
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
LoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
// Show Login
if (theAppDataObject.startupData.loginOnLaunch.boolValue == true) {
NSString *email = @"[email protected]";
NSString *pswd = @"t4Wzpg4OQ5q8ZNVDPPo7wg==";
[loginViewController startLoginProcess:email :pswd];
} else {
[self.window makeKeyAndVisible];
[self.window.rootViewController presentViewController:loginViewController animated:animated completion:nil];
}
}
其他,我通常使用顯示出這樣的代碼的所有訪問量:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
MC_ChatWindowViewController *chatWindVC = [storyboard instantiateViewControllerWithIdentifier:@"chatWindowVC"];
[chatWindVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:chatWindVC animated:YES completion:nil];
在我的AppDelegate,我曾試圖打電話給mainTabVC,但沒有成功。所以堅持原來的代碼。通過幾個教程也嘗試了幾種方法,但無法做到。我是iOS開發的新手&我還沒有找到舒適的方式來使用navControllers。
我在LoginVC中嵌入了NavController直通故事板。
CODE添加在MAinTAB的.m
@implementation MC_MainTabBarController
bool isLogged = false;
-(void) showLoginScreen:(BOOL)animated {
NSLog(@"Calling Login from MainTab");
// Get login screen from storyboard and present it
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
LoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
[loginViewController setModalPresentationStyle:UIModalPresentationFullScreen ];
[self presentViewController:loginViewController animated:YES completion:nil];
/* AUTO LOGIN
// Show Login
if (theAppDataObject.startupData.loginOnLaunch.boolValue == true) {
NSString *email = @"[email protected]";
NSString *pswd = @"t4Wzpg4OQ5q8ZNVDPPo7wg==";
[loginViewController startLoginProcess:email :pswd];
} else {
[self.window makeKeyAndVisible];
[self.window.rootViewController presentViewController:loginViewController animated:animated completion:nil];
} */
}
- (無效)viewWillAppear中:(BOOL)動畫{ 如果(isLogged ==假){ [自showLoginScreen:YES]; }
}
你是什麼意思的「我無法設置它」?是否存在技術問題,或只是缺乏動力:p? 在我看來模態意見應在非常特殊的情況下被使用,經典的導航,你應該有一個'UINavigationController' – KIDdAe
@KIDdAe去,在我的第一觀點,即LoginVC我嵌入NavContrl&I看到NavigationItem在LoginVC故事板。之前我編碼導航到所有屏幕。在我的問答中,我添加了如何從登錄移動到MainTabVC的代碼。 – Tvd