Tag: uiviewcontroller

ViewController实现UITextFieldDelegate时出错

在我的ViewController类中实现UITextFieldDelegate时,在文本字段中input第一个字符时会引发以下错误: -[MyViewController respondsToSelector:]: message sent to deallocated instance… 所以,我试着创build一个单独的类(只inheritanceNSObject)并实现UITextFieldDelegate。 猜猜看,它完美的工作。 然而,这引起了一些其他问题,因为我必须做很多丑陋的跨class级交stream,我想避免。 以下是我的应用程序委托代码的相关部分: @interface RMSAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> @property (nonatomic, retain) UIViewController* myViewController; @end @implementation MyAppDelegate @synthesize myViewController; – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; [self.window setRootViewController:myViewController]; [self.window makeKeyAndVisible]; return YES; } @end ..这是什么显示: @interface MyViewController : UIViewController <UITextFieldDelegate> @property […]

我怎样才能从一个视图控制器传递信息到另一个?

这是一个Q&A风格的post 如果我想从一个视图控制器传递参数,如NSString , NSArray或NSDictionary ,那么最简单的方法是什么?

在显示模态控制器的同时与显示控制器进行交互

模型视图控制器正在呈现时,是否可以与呈现视图控制器进行交互? ———— | | | VC1 | | | | | | | | | |————| | VC2 | | | ———— 在上图中,VC1是presentingViewController ,VC2是presentedViewController 。 我想实现的用户体验是用户可以与VC1和VC2进行交互。 此时,当VC2出现时,触摸不会传递给VC1。

我应该使用UIViewController还是UIView? 制作自定义标签栏/导航控制器

我正在做一个应用程序,它有一个底部栏和一个顶部栏(都是自定义的),我希望他们留在那里的应用程序的整个长度,而中间部分切换视图。 但踢球者是在应用程序中的某些点,我想要顶部的酒吧和底部栏滑出屏幕,并能够被拖回去。 我在想的是有一个主UIViewController与三个UIViews(顶部栏,中间部分和底部栏),每个从他们各自的文件运行代码。 有点像标签栏如何与导航控制器一起工作。 或者我有倒退? 我真的不知道…但任何build设性的意见帮助=) 我相当新的Xcode和我一直在试图find一个方式,现在几天,所以请不要对我太苛刻。 谢谢!

Objective-c:来自UIView的presentViewController

我试图在UIView内使用presentViewController。 http://img145.imageshack.us/img145/6334/appt.png 当我点击右上angular的“+”button时,我想用右边的UIViewController代替右边的tableview(在图片的灰色部分)。 – (void)add:(id)sender { UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"testview"]; [self presentViewController:controller animated:YES completion:NULL]; } 当然,通过这样做,整个屏幕被replace..我想这样的事情: [contentView addSubview:controller]; 要么 [contentView presentViewController:controller animated:YES completion:NULL]; contentView是包含tableview的UIView 我发现这addChildViewController和presentViewController,但我不认为这可以帮助我 谢谢 编辑: 在Storyboard中使用ContainerView解决了我的问题

UINavigationController和UIWebView中加载的网页之间可以进行通信?

我是iOS开发新手。 我会尽我所能解释我的问题,如果你觉得这很愚蠢,请原谅我。 我想知道是否可以通过单击UIWebView中的链接来加载UINavigationController中的子视图。 进一步解释,假设有UINavigationController有一个子视图,并且该子视图有一个名为A的UIWebView,还有另一个子视图(尚未加载),名为B.是否可以加载B(或执行任何其他本机目标C事件)当用户点击UIWebView A内的链接? 例如在iPhone的Instagram应用程序中,正如我所观察到的(我可能是错的),在由UINavigationControllers控制的视图中有UIWebViews。 在Web视图内添加一个链接会加载一个新的视图。 这是怎么回事? 是否可以设置在UIWebView内加载的网页与父/超级UIView?之间的通信。 如果我迷路,请纠正我。 到目前为止,我是iOS开发人员中的一员。 如果这是有道理的,也请参考API或教程来做到这一点。 提前致谢。

UIViewController的视图不调整viewWillAppear()

我已经实例化一个自定义视图控制器的UINavigationController 。 它的视图包含一个button,点击后,导航控制器会将不同的自定义视图控制器的视图推送到视图中: @IBAction func showVC(sender: AnyObject) { let vc = MyOtherViewController() navigationController?.pushViewController(vc, animated: true) } 在MyOtherViewController's viewWillAppear()函数中,我发现视图没有resize以适应视图层次结构。 override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) print("view: \(view)") } print()函数的输出是: 查看:<UIView:0x7f9432719bd0; frame =(0 0; 600 600); autoresize = W + H; 层= <CALayer:0x7f9432717cc0 >> 正如你所看到的,视图的大小仍然是600 x 600 ,这是.xib文件的原始大小。 我没有调整.xib视图的大小,因为视图将显示在各种iPhone和iPad显示器上。 我的困境是我需要视图的最终维度,因为我需要根据视图的宽度构造一些NSLayoutConstraints 。 调整视图的build议方法是什么? 期望视图在调用时被resize是错误的–viewWillAppear()

当另一个viewController隐藏状态栏时,UINavigationBar在状态栏下移动

问题很简单,Profile viewController在状态栏下面有一个NavigationBar。 我推另一个viewController在当前之一。 这个新的viewController隐藏状态栏。 当我回到Profile viewController时,navigationBar已经向上移动了状态栏高度的大小。 我试图强制在我的viewWillAppear刷新布局,但它不工作。 有任何想法吗?

为什么不设置这个UISlider的值属性更新其位置?

… ViewController.h: @property (nonatomic, strong) IBOutlet UISlider *slider; … ViewController.m: @synthesize slider; – (void)viewDidLoad { [super viewDidLoad]; … currentValue = 50; self.slider.value = currentValue; // Do any additional setup after loading the view, typically from a nib. } 的.xib: 我的界面中的UISlider连接到slider属性。 行为: 当滑块位于中间位置时,滑块一直位于值100的右侧。 我设置的动作确认currentValue的值是50.如果currentValue是50并且slider.value被设置为50,为什么这个位置不反映这个? PS我试过[slider setNeedsDisplay],并没有影响这种行为。 更新:感谢您的快速解答! 多么愚蠢的事情要做。 我打印出currentValue作为int其他地方,所以我现在设置slider.value这个代码: self.slider.value = (float) currentValue/100;

UIViewController中的SKScene

我正在使这个应用程序具有多个function,其中之一应该是一个游戏。 正常的碰撞游戏,你打对象和得分。 但我的应用程序是基于单一的应用程序。 当我创build一个新的swift文件,我如何添加SKScene到UIViewController? 任何帮助将不胜感激。