基于导航的iPhone应用程序中的UIContoller交互问题

时间:2011-01-21 06:03:54

标签: objective-c cocoa-touch xcode uiviewcontroller uinavigationcontroller

我在Xcode中创建了一个基于Windows的应用程序。我将UIViewContoller作为子视图推送到导航堆栈中。但问题是我无法与子视图上的控件进行交互。我是iPhone开发的新手。所以我不知道如何完成任务。请帮助我这方面。提前致谢:)

以下是我在导航视图控制器中推送子视图的方式

if(self.userViewController == nil)
{
    UIViewController *vc = [[UIViewController alloc]    initWithNibName:@"UserViewController" bundle:nil];
    self.userViewController =vc;
    [vc release];
}

userViewController.title = [NSString stringWithFormat:@"Edit User"];
ShoppingListAppDelegate *delegate = [[ UIApplication sharedApplication] delegate];
[delegate.navController pushViewController:userViewController animated:YES];

2 个答案:

答案 0 :(得分:0)

首先,阅读Apple Documentation for iOS中提供的View Controller Programming Guide。仔细阅读和遵循示例将为学习iOS和视图控制器基础提供坚实的基础。

话虽如此,将视图控制器推送到导航控制器堆栈的正确方法是:

.h文件中的

@interface YourViewController : UiViewController {
    UINavigationController *navigationController;
}

@property(nonatomic, retain) IBOutlet UINavigationController *navigationController;
.m文件中的

@synthesize navigationController;

您希望推送新视图的

UserViewController *myView = [[UserViewController alloc] initWithNibName:@"UserViewController" bundle:nil];
[navigationController pushViewController:myView animated:YES];
[myView release];

答案 1 :(得分:-1)

尝试将userInteractionEnabled属性设置为true以控制所有控件以及userViewController ...