Tag: uiviewcontroller

无法设置UIViewController ios的属性

我有一个扩展UIViewController的视图控制器。 @interface MyViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextView *phoneTxt; @property (nonatomic, strong) NSDictionary *data; @end 但是,当我尝试通过设置视图控制器的属性: MyViewController *vvc = (MyViewController *)[sb instantiateViewControllerWithIdentifier:@"MyVC"]; vvc.data = data; 我得到以下错误: 'NSInvalidArgumentException', reason: '-[UIViewController setData:]: unrecognized selector sent to instance 我已经检查过,视图控制器不是零,我已经综合了MyViewController.m中的属性数据 @synthesize data = _data; 为什么我得到这个错误?

从视图控制器访问模型?

我正在创build一个iPhone应用程序,一个游戏,我正试图理解和拥抱MVC体系结构。 我打算创build一个模型,在这个例子中叫做HighScoresModel ,它负责保存我游戏中所有关于高分的信息。 应该在哪里创build这个模型? 在AppDelegate? 在第一个视图控制器? 其他视图控制器应该如何访问模型,以传递像addScore:withDifficulty:这样的addScore:withDifficulty:

UIViewController在popup时不会从内存中释放

我有一个UINavigationController ,我试图从内存释放每个UIViewController一旦另一个在堆栈顶部。 我将UINavigationController的viewControllers属性分配给新的UIViewController ,然后popup。 这样我总是只有一个UIViewController在堆栈中。 但是,每当我创build一个新的UIViewController时,内存不断增加。 Dealloc被调用,但内存使用保持不变。 您可以在这里下载示例项目 FirstViewController.h #import "SecondViewController.h" @interface FirstViewController : UIViewController -(IBAction)goToSecond:(id)sender; @end FirstViewController.m #import "FirstViewController.h" @interface FirstViewController () @end @implementation FirstViewController – (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@", self.navigationController.viewControllers); } -(void)goToSecond:(id)sender{ SecondViewController *secondVC = [[SecondViewController alloc]init]; [self.navigationController setViewControllers:@[secondVC]]; [self.navigationController popViewControllerAnimated:NO]; } -(void)dealloc{ NSLog(@"FirstVC dealloc"); } @end SecondViewController.h #import "FirstViewController.h" @interface SecondViewController […]

麻烦与ViewControllers之间的segue

这是我的代码: import UIKit import CoreData class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() var logo = UIImage(named: "no_pain_no_gain-_.jpg") logoImage.image = logo viewExercisesButton.frame = CGRectMake(-30,250,125,125) viewExercisesButton.addTarget(self, action: "viewExercisesButtonTouch:", forControlEvents: UIControlEvents.TouchDown) viewExercisesButton.setImage(imageViewExercises, forState: .Normal) viewExercisesButton.imageEdgeInsets = UIEdgeInsetsMake(30,30,30,30) self.view.addSubview(viewExercisesButton) } var moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext var fetchedResultsController: NSFetchedResultsController? var daysArray1 = [TrainingDay]() @IBOutlet var logoImage: UIImageView! […]

视图控制器以模态方式呈现/解散时通知?

如果某个视图控制器在另一个视图控制器之上以模态方式呈现(除了viewWillDisappear ,显然不是在iPad上调用非全屏模式呈现),有没有办法自动通知? 背景/用例:在iPad应用程序中,无论何时呈现模态表单,我都希望调整模态背后的视图外观。 但是,如果模式不一定在同一个视图控制器中进行,而需要适应,而可能发生在一些小孩或母公司风险投资家。 当然,我可以手动(通过通知,委托或任何其他方式)传达这个事件,但这是相当重复的,在将来添加更多的模态表格时很容易被遗忘。 因此,我想知道是否有更好的方法来实现这一点。 我已经试过了对presentViewController KVO,但似乎并没有工作(而且我也不知道如果presentedViewController实际上将被设置,如果模态演示是由子视图控制器完成…)。

拆分视图控制器更新表视图

我正在使用分割视图控制器。 对于主人,我有导航控制器与表视图控制器作为根视图。 有关详细信息,我将导航控制器与自定义视图控制器作为根视图。 从主我selecttableView行和详细信息视图中显示行详细信息。 从详细信息视图中,我可以使用另一个视图控制器模式segue编辑此行的详细信息。 问题是:如何在详细信息编辑视图(模态)中保存更改后刷新tableView(主)。 当我点击保存button-(IBAction) unwindEditRow:(UIStoryboardSegue *)segue (的细节)被触发。

无法将连接器从在类中声明为IBOutlet的UIImageView链接到故事板中View Controller的相应UIImageView

这个问题是后续的: 无法将连接器从IBOutlet链接到View Controller 现在我想将在类B中定义的名为image的UIImageView的另一个对象链接到ViewController上相同的UIImageView。 我无法使用相同的方法做到这一点。 我想这是因为,ViewController上的UIImageView现在是自定义类B,而对象图像是UIImageView的一个实例。 我试图通过更改UIImageView的自定义类到UIImageView来欺骗xcode; 这样做不仅给了我一个例外,而且我也看不到黑盒子里的对象“形象”了。 有什么build议么?

使用UINavigationController视图

我想更好地理解使用UINavigationController的。 我已经使用UINavigationViewController以及其他两个视图控制器设置了一个新项目。 在我的应用程序委托中,我有以下几点: self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; firstViewController = [[NCTFirstViewController alloc] initWithNibName:@"NCTFirstViewController" bundle:nil]; navController = [[NCTNavViewController alloc] initWithRootViewController:firstViewController]; self.window.rootViewController = self.navController; [self.window makeKeyAndVisible]; 在我的UINavigationController.m文件中,我可以设置标题并设置button,但这不起作用。 这只适用于如果我在实际的视图控制器本身设置self.navigtionController项目。 这是正确的,或者有什么我应该在UINavigationController做这个工作。 理想情况下,我正在寻找一个UINavigationController处理所有推送到其他控制器。 从长远来看,它将被用作菜单系统。 所以如果用户点击顶部的一个button,它们被推送到一个新的视图控制器,但没有后退选项,只是在顶部的导航栏中显示一个新的中央视图控制器相同的菜单项。 我遇到的问题是了解如何设置。 如果我必须在视图控制器本身设置它,他们都不会重复相同的代码。 当然,我可以在AppDelegate中设置所有的“移动”,但是这看起来不正确,并且会收起App Delegate本身。

如何返回到当前的视图控制器?

我在我的应用程序中实现ECSlidingViewController 。 一切正常,当我点击菜单button(UIBar)的左侧菜单滑动。 但再次按下菜单button不会返回当前的ViewController 。 它在示例应用程序中起作用,但是我无法find返回当前控制器的那一行代码。 这里是显示菜单的代码: – (IBAction)menuButtonTapped:(id)sender { [self.slidingViewController anchorTopViewToRightAnimated:YES]; } 现在我到处寻找可以closures左侧菜单布局但是找不到它的代码部分。 它必须在某处埋葬… Github项目 如何通过按菜单UIBarbutton回到当前的视图控制器? @Eric打开了我的眼睛,看看正在进行的事件。 看起来UIPanGestureRecognizer是一个负责重新显示主屏幕的人,不幸的是,在实现这个删除操作之后,我无法让它工作。 – (UIPanGestureRecognizer *)dynamicTransitionPanGesture { if (_dynamicTransitionPanGesture) return _dynamicTransitionPanGesture; _dynamicTransitionPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self.transitions.dynamicTransition action:@selector(handlePanGesture:)]; return _dynamicTransitionPanGesture; }

如何从故事板上的视图控制器获取子视图

我有两个视图控制器,每个都有一个UIView它有一个标签。 我想将第一个视图控制器的视图设置为按下button时的第二个视图。 当我这样做时,第二个视图控制器不会加载视图,并且指针在我的第二个视图上的UIView为空,所以我不能在我的第一个视图上做任何事情。 我所做的就是这个,因为我的secondViewNew是我的secondView属性。 这是可能在故事板上完成吗? 我也尝试了[self.storyboard instantiateViewControllerWithIdentifier:@“beaconContentID”]做事情的方法。 在这个项目中,secondViewNew也是一个UIView,并且我导入了所有相关的类。 SecondViewController *secondViewControllerInstance = [[SecondViewController alloc] init]; UIView *test = secondViewControllerInstance.secondViewNew; NSLog(@"%@",test);