Tag: uiviewcontroller

iOS:ViewController的-init和-viewLoad有什么区别?

我不知道什么是正确的地方来设置NavigationBar的tintColor或我的ViewController的标题。 它也在-init方法和-viewLoad方法中工作。 什么是“最佳做法”或“正确的方式”来做到这一点? 有这些优势之一?

如何在UIScrollview中embedded一个UITableView

我怎样才能在UIViewController(包含一个tableview作为子视图) 我最初有一个UIViewController显示预览部分(UIView) //Setup container for preview section UIView *tempContainer = [[UIView alloc]initWithFrame:CGRectMake(0, 20, 320, 100)]; self.preview_answer_container = tempContainer; self.preview_answer_container.backgroundColor = [UIColor clearColor]; [tempContainer release]; [self.view addSubview:self.preview_answer_container]; 我还在下面添加了一个UITableView(和一个search栏) //setup tableview UITableView *tempTable = [[UITableView alloc]initWithFrame:CGRectMake(0,44 ,320,self.view.frame.size.height – 44)]; self.tagFriendsTableView = tempTable; self.tagFriendsTableView.delegate = self; self.tagFriendsTableView.dataSource = self; [tempTable release]; [self.view addSubview:self.tagFriendsTableView]; 有了这个设置,我的滚动区域很小(只有预览部分下面的静态区域) 我怎样才能修改我的代码,使1)我可以向上滚动整个页面,即预览部分和tableview将一起向上滚动2)滚动作为一个整体将停止当search栏到达顶部(下方导航栏)(见截图),但UITableView中的内容仍然是可滚动的 编辑: 添加了UIScroll视图的代码。 然而,我没有任何改变。 […]

记住UITableView的滚动位置

我在xcode中的iOS应用程序有点问题。 我有一个UITableView加载几百个单元格。 当我向下滚动到一个特定的单元格,深入detailviewcontrollers并再次返回主视图表已返回到顶部。 我看了下面两个类似的问题。 我怎样才能获得UITableView的滚动位置,所以我可以保存它? 在UITableView中设置滚动位置 我仍然无法让这些工作。 我不是最有经验的编码器,所以我真的很困难。 我知道像viewWillDisappear和viewDidAppear需要改变的东西,但我真的不能远远超过这一点。 在这张桌子上,我有一个reloadDatafunction,所以可以从服务器上下载最新的数据,也可以在工作的search栏中查看。 无论如何,一个援助之手将是伟大的。 谢谢, 卢克

从应用程序委托调用UIViewController方法

我知道有这个问题的重复,但我的情况是不同的。 当用户回到主页(void)applicationDidEnterBackground被AppDelegate类调用。 但是,一旦用户按Home键,我不希望用户再次看到这个视图控制器,所以我有一个名为(void)goToBeginning切换到另一个视图控制器的方法。 我想能够从AppDelegate调用此方法。 我真的不想使用NotificationCenter 。 另外挑选的解决scheme在这里: 从应用程序委托调用视图控制器方法不起作用,因为它初始化新的对象,而我想能够调用已经在视图中的对象。 我怎样才能做到这一点? 我正在使用iOS 7和XCode 5。

UIViewController阻止视图卸载

当我的iPhone应用程序收到内存警告的UIViewControllers目前不可见的意见得到卸载。 在一个特定的控制器卸载视图和出口是相当致命的。 我正在寻找一种方法来防止这个视图被卸载。 我发现这种行为很愚蠢 – 我有一个caching机制,所以当内存警告来了 – 我卸载自己吨数据,我释放了足够的内存,但我绝对需要这个观点不变。 我看到UIViewController有一个方法unloadViewIfReloadable ,当内存警告来临时被调用。 有谁知道如何告诉Cocoa Touch我的观点是不可重新加载的? 任何其他的build议如何防止我的观点被卸载内存警告? 提前致谢 关于视图控制器视图生命周期的Apple文档说: didReceiveMemoryWarning – 默认实现只有在确定安全的情况下才会释放视图 现在…我重写didReceiveMemoryWarning与一个空的函数,只是调用NSLog让我知道收到警告。 然而,视图无论如何都会被卸载。 另外,根据什么标准来决定视图是否可以安全地卸载…哦! 这么多的问题!

目前在半angular父控制器中的模态视图控制器

我正试图在其他视图控制器大小为一半父视图控制器呈现模式视图控制器。 但它始终以全屏显示。 我已经创build了自由大小的视图控制器在我的故事板固定帧大小。 320×250。 var storyboard = UIStoryboard(name: "Main", bundle: nil) var pvc = storyboard.instantiateViewControllerWithIdentifier("CustomTableViewController") as ProductsTableViewController self.presentViewController(pvc, animated: true, completion: nil) 我试图设置frame.superview并没有帮助。 请指教。

无法强制UIViewController方向

我有一个景观ViewController的肖像应用程序。 我一直在挖掘很多关于如何强制方向横向时,应用程序被locking到肖像,我尝试了很多这里提出的解决scheme,不仅如此,但没有任何运气。 到目前为止,我设法自动旋转风景中需要的VC,但由于方向未locking,所有其他VC也将旋转。 override func viewDidAppear(animated: Bool) { let value = UIInterfaceOrientation.LandscapeRight.rawValue UIDevice.currentDevice().setValue(value, forKey: "orientation") } override func shouldAutorotate() -> Bool { return true } 经过更多的挖掘后,我find了一个示例项目,但当它在该项目中工作后,这似乎并没有为我工作。 这是在AppDelegate func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { if self.window?.rootViewController?.presentedViewController is ConclusionReferencesVC { let conclusionReferencesVC = self.window!.rootViewController!.presentedViewController as! ConclusionReferencesVC if conclusionReferencesVC.isPresented { return UIInterfaceOrientationMask.LandscapeRight; } else { […]

我如何给我的故事板内的视图控制器“标识符”?

instantiateViewControllerWithIdentifier:方法要求我通过的视图控制器有一个标识符。 我去了我的故事板,并点击我的视图控制器,但我看不到设置标识符的选项。 我在哪里可以find这个选项?

应用程序窗口预计在应用程序启动警告结束时有一个根视图控制器

我一直坚持这个警告几个小时了。 我环顾四周寻找答案,尝试所有我find的,找不到解决scheme。 这里是我所拥有的代码的破解,Xcode默认生成的。 这是在我的AppDelegate – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window.rootViewController = self.navigationController; [self.window makeKeyAndVisible]; return YES; } 我在main.m上有这个(根据这个答案 ) int main(int argc, char *argv[]) { @autoreleasepool { int retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); return retVal; } } 我也有我的MainWindow.xib连接正确的所有连接。 所以我现在亏本了 任何我可能错过的东西? 提前致谢!

在视图控制器之间传递variables

我正在使用这个function来切换Xcode 4.3中的视图。 [self performSegueWithIdentifier:@"NextView" sender:self]; 我想在页面之间传递一些参数。 我怎样才能做到这一点?