Tag: uiviewcontroller

为什么我的NSNotification被多次调用观察者?

在一个应用程序中,我使用了几个视图控制器。 在一个视图控制器上,观察者被初始化如下: [[NSNotificationCenter defaultCenter] removeObserver:self name:@"MyNotification" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMethod:) name:@"MyNotification" object:nil]; 即使在初始化myMethod:的执行次数之前删除NSNotification myMethod:正由相应视图控制器上重复视图的myMethod:加起来。 为什么会发生这种情况,我该如何避免myMethod:多被调用一次。 注:我确定通过使用断点,我没有多次调用postNotification出错。 编辑:这是我的postNotification看起来像 NSArray * objects = [NSArray arrayWithObjects:[NSNumber numberWithInt:number],someText, nil]; NSArray * keys = [NSArray arrayWithObjects:@"Number",@"Text", nil]; NSDictionary * userInfo = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; [[NSNotificationCenter defaultCenter] postNotificationName:@"myNotification" object:self userInfo:userInfo]; 编辑:即使移动我的订阅viewwillappear:我得到相同的结果。 myMethod:被多次调用。 (我重新加载viewcontroller的次数)。 -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self […]

以编程方式构build/导航导航控制器

之前: 我的应用程序基于独立的视图控制器。 我可以通过replace应用程序委托上的根视图控制器从一个切换到另一个: ade.window.rootViewController = newController; …一切正常,直到现在。 明天: 我们必须添加一个基于NavigationController的应用程序的一部分,这将帮助用户浏览我们的: 品牌=>型号名称=>颜色 因此,用户将select一种颜色,然后点击一个button:现在我将切换到另一个UIViewController(称为“pippo”),它实际上位于该导航层次结构之外(我无法将其推送到nav-controller中几个方法,我强迫这样做!)。 我想要的是从“pippo”回到我的“彩色”屏幕。 所以,我正在寻找一种以编程方式“导航”我恢复的导航控制器的方式,我的意思是: 我恢复我的导航控制器 现在我在品牌,但我不希望我的用户在这里,我想向他们展示他们最后的颜色(我保存在偏好) 我怎样才能模拟一个已知的品牌和模型的select? 非常感谢。

问题pushViewController从风景到肖像

我试图从支持横向(而在横向模式)的视图控制器,到明确不支持(而不应该)横向的视图控制器。 我这样做如下: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { return (toInterfaceOrientation == UIInterfaceOrientationPortrait); } 理想情况下,我想要新的viewController,我推到堆栈上开始在肖像,而不是风景。 奇怪的是,即使这个方法实施,它开始景观。 我唯一的猜测是,苹果公司不希望用户从风景转换到肖像(尽pipe允许我们从风景转移到前面的肖像控制器)。 任何见解和/或帮助将不胜感激。

拖到viewcontroller的出口不工作

我到处寻找这个问题。 我知道放松场景是如何工作的。 我已经在A VC中实现了以下代码 -(IBAction)returned:(UIStoryboardSegue *)segue { try.text = @"Returned from Scene 1"; } 但是,当我去我的B VC(这是VC我想回到一个VC从),并按Ctrl键拖动到底部的出口,它不会让我。 并且退出选项中没有popupfunction。 任何人有这个问题,或可以帮助?

iPhone的UIViewController进入状态栏

我有一个UIView和一个UIController视图。 我是标准的320×460视图。 在applicationDidFinishLaunching我做: [window addSubview:[controller view]]; 奇怪的是, UIView进入状态栏(就像缺less出口)。 但是,如果我将iPhone旋转到侧面,然后返回,则显示正常。 这是一个预期的行为(我敢打赌,我可以通过设置偏移量来解决)还是我做错了?

在iPhone上显示popup式透明窗口的最佳方法?

我正在Xcode 4.6中构build一个iOS 6 iPhone应用程序,并且想知道实现以下types的popup窗口的最佳方法: 具体来说,在右边的iPhone屏幕截图中,如果用户点击主窗口中的脸部或UIView,则会出现部分透明的popup窗口,其中包含更详细的信息(如肖像照片和文本数据),但是原始视图(这里的照片集)仍然可见,计时器/计数器在这个视图中继续下去。 我认为这将是一个可能的解决schemeiPhone模式查看更小的屏幕,但它不适用于我。 上面没有显示的是一个取消button,我也打算放在popup窗口,以便用户可以返回到下面的视图。 当计时器到期时,详细视图也消失。 我应该使用presentModalViewController和演示者/呈现scheme,还是使用与storyboard segue的父子视图关系,或者我应该使用loadNibNamed还是某种黑客来克服iPhone对显示非全屏模式的限制视图? 它将覆盖大部分屏幕,但是我想确保下面的视图是可见的并且仍然是活动的,因为它向不在popup窗口(计时器等)中的用户提供信息。 用户不需要与下面的屏幕交互,但我希望它是部分可见的。 我devisepopup视图作为一个单独的视图控制器在我的主要故事板,而不是一个xib文件。 连接和sockets由接口生成器形成我的代码,称为ProfileViewController。 警告:我的术语可能不正确,不准确。 popup窗口或popup窗口可以是UIView,UIViewController,UIWindow,或其他任何最好的编程方式来解决问题。 我没有把它作为一个特定的部件types,只要function反映我正在寻找的东西。 在此先感谢您的build议!

在子视图中添加UIViewController

我不知道这是否是正确的关键来search“在子视图中添加UIViewController”。 正如你可以在我的图像中看到的,有两个ViewController,主和第二个控制器。 在主控制器里面有一个UIView(蓝色背景颜色)。 在UIView中,我想在我的UIView中添加第二个ViewController。 我有这个代码,但它没有工作。 这是我的代码 #import "ViewController.h" #import "SampleViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *testView; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. SampleViewController * sample = [[SampleViewController alloc] initWithNibName:@"SampleViewController" bundle:nil]; sample.view.frame = CGRectMake(0, 0, self.testView.bounds.size.width, self.testView.bounds.size.height); [self.testView […]

适用于youtubeembedded式video的iOS 6.0+自动转换

我只想在我的iOS应用程序的所有视图控制器中支持垂直方向。 但是,我在其中一个视图控制器中embedded了一个YouTubevideo,当select该video占用全屏幕时,我希望用户能够水平定位他/她的手机,使video扩展为全屏。 编辑:我试图从iOS 6中使用以下代码从Autorotate有奇怪的行为 : – (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return self.fullScreenVideoIsPlaying ? UIInterfaceOrientationMaskAllButUpsideDown : UIInterfaceOrientationMaskPortrait; } 并在我的视图控制器呈现UIWebView / YouTube框架,我有我的viewDidLoad这个代码: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowNowVisible:) name:UIWindowDidBecomeVisibleNotification object:self.view.window ]; – (void)windowNowVisible:(NSNotification *)notification { AppDelegate* appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; appDelegate.fullScreenVideoIsPlaying = !(appDelegate.fullScreenVideoIsPlaying); } 但是,当用户按下全屏YouTubevideo完成时,如果他/她仍然具有水平的电话,则呈现视图控制器也保持水平(我希望当前视图控制器是纵向的)。 这是一个比赛fullSreenVideoIsPlayingvariables,这是不够快的更新,使我的呈现视图控制器是肖像。 任何有关如何实现这一点的反馈将不胜感激。 谢谢!

iOS故事板 – 一次禁用故事板上的状态栏

当在Interface Builder使用Storyboard来完全禁用状态栏时, Xcode有一种方法,所以当我创build一个新的View Controller我不必一直推断“状态栏”为无。

iphone应用程序在iPad上横向启动后没有响应

在横向模式下在iPad上启动时,我的iPhone应用程序不响应。 如果它在肖像模式启动一切正常。 横向方向没有任何工作,直到应用程序旋转或按下1x 2xbutton。 我已经试过用断点debugging应用程序,并且遍历代码,但是它显示应用程序在debugging控制台中正常运行。