0
我有一個應用程序,我推動一個模態視圖控制器。它工作正常,但我擔心我沒有以最正確的方式對其進行編碼。我有兩個導航控制器instanstiated,這似乎有點狡猾,我。推兩個導航控制器的視圖控制器
基本上我已經創建了一個帶3個選項卡的標籤欄控制器,然後將其中一個選項卡/視圖控制器作爲根。後來我在覈心文本中使用了一些本土標記,當用戶觸及段落中的特定單詞時彈出視圖控制器。推視圖控制器有一個後退按鈕,工作正常,應用程序似乎是好的。
就像我說的一切正常,但似乎我在這裏編碼。它是否正確?
AppDelegate.h
#import <Foundation/Foundation.h>
@interface AppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>
{
UIWindow *window;
UITabBarController *tabBarController;
}
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tabBarController;
@end
從AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController *viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
ViewController2 *viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
ViewController3 *viewController3 = [[ViewController3 alloc] initWithNibName:@"ViewController3" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav, viewController2, viewController3, nil];
self.tabBarController.delegate = self;
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
ViewController3.h
#import <UIKit/UIKit.h>
#import "JSCoreTextView.h"
#import "PopupViewController.h"
@class JSTwitterCoreTextView;
@interface ReadingViewController : UIViewController <JSCoreTextViewDelegate>
{
JSTwitterCoreTextView *_textView;
UIScrollView *_scrollView;
}
@end
From ViewController3.m
這裏我正在實例化另一個導航控制器。這是一個好主意嗎?
從PopupViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(done:)]];
}
- (void)done:(id)sender
{
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
我不知道該如何改變這段代碼。 – ardochhigh