Tag: uiviewcontroller

在状态栏下没有导航栏的情况下,扩展UIViewController的视图

我的视图没有导航栏,但我想显示状态栏下的内容。 我已经检查了在顶部的酒吧,在我的视图控制器不透明的酒吧下的扩展边缘,我想要显示在状态栏下的视图有0垂直间距约束顶部布局指南,但仍然,这里是我得到: 状态栏有20px纯白色背景,我不想要。 我希望我的视图在状态栏下重叠,就像下面的模型一样: 我怎么能做到这一点, 没有一个可见的导航栏(我仍然有它,因为我的视图保证在导航控制器内,但它永远不会被看见,因为我有很多自定义devise的部分,包括顶部酒吧)?

是否有一个视图控制器的图像作物和旋转工程,如iOS 8的photo.app?

我需要一个视图控制器供用户裁剪和旋转图像。 而且我认为iOS8照片应用所做的UI非常棒 但是我发现只有这两个: https://github.com/heitorfr/ios-image-editor https://github.com/kishikawakatsumi/PEPhotoCropEditor 这些是有用的,但是当使图像小于作物区域时,移动或旋转图像是非常困难的,并且响应非常奇怪。 使用这些之后,我认为iOS8照片应用的裁剪和旋转function要好得多 那么有没有一个视图控制器执行图像裁剪和像iOS 8照片应用程序旋转?

较慢的presentViewController性能

我正在使用UIViewControllerTransitioningDelegate在两个视图控制器(从MKMapView )到build立在( AVFoundation )上的自定义相机之间构build自定义转换。 一切顺利,直到我打电话给presentViewController和手机似乎挂起约1秒(当我login一切了)。 这甚至在我转换到一个更简单的视图(我有一个视图控制器只显示一个UITextview ,甚至在实际调用转换之前似乎有大约.4 – .5秒的延迟)时发生。 目前我正在调用这个过渡 dispatch_async(dispatch_get_main_queue(), ^{ UIStoryboard* sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; CameraViewController *cvc2 = [sb instantiateViewControllerWithIdentifier:@"Camera"]; cvc2.modalPresentationStyle = UIModalPresentationFullScreen; // Needed for custom animations to work cvc2.transitioningDelegate = self; //Conforms to the UIViewControllerTransitioningDelegate protocol [self presentViewController:cvc2 animated:YES completion:nil]; }); 这是我为那个调用animateTransition方法。 非常简单直观,目前只有一个MkMapView视图(没有额外的视图或方法)。 -(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { if (self.type == MapAnimationTypePresent) {//From […]

单个UIViewcontroller,如何在多个xib之间切换?

我有一个UIViewController的子类: @interface KBViewController : UIViewController 以多个xib s为例,一个是Qwerty ,另一个是Dvorak布局: KBViewControllerQuerty~iphone.xib KBViewControllerDvorak~iphone.xib 所以当用户点击一个button时, Qwerty切换到Dvorak 。 正如你所看到的,两种键盘布局的代码逻辑都是相同的。 我需要的是重新加载view与另一个xib 。 希望Dvorak xib中的所有button都会挂接到KBViewController响应的IBOutlet 。 在两个xib之间切换的正确方法是什么?

从另一个ViewController调用方法

我有一个ViewControllerA和一个ViewControllerB。 我想从ViewControllerB调用ViewControllerA的方法。 在ViewControllerA中提供了一个方法: -(NSMutableArray*) loadData; 在ViewControllerB.h中: #import "ViewControllerA.h" ……. @property (nonatomic, strong) ViewControllerA * viewControllerA; @property (nonatomic, strong) NSMutableArray * mutableArray; 在ViewControllerB.m中: self.mutableArray =[viewControllerA loadData]; 但方法不是调用。 为什么? 提前致谢

自定义容器视图控制器

我想创build自己的容器视图控制器,即像UINavigationController或UITabBarController 。 文件说我不应该这样做,但为什么不呢? 导航和tabbar容器是很好的例子,这样的事情是可能的,并且工作得很好。 我也明白,iPhone屏幕小,人们不应该通过导航button等搞乱,但在iPad上有很大的空间,并将其分割到许多视图控制器将给我们很大的机会。 我有一种感觉,苹果没有添加这样的API,但他们会的。 几天前,他们已经添加了有关iPad专用控制器(是的,容器的)的文档,他们已经修改了文本的东西不太严格。 无论如何…如果我尝试在一个屏幕上使用两个或更多视图控制器,可能会遇到什么问题? 我知道只有其中一人会得到像方向改变或低位记忆警告的事件,所以我必须将这些事件传递给所包含的VC。 我害怕与未来版本的iOS兼容,如果他们将添加新事件,那么包含VC将不会执行从UIViewControllerinheritance的默认操作。 还要别的吗? 你觉得我的应用可能会被苹果拒绝? 也许还有其他方法可以在每个屏幕上保留一些视图元素,而不需要将大量相同的代码复制到每个VC? 提前致谢。

IOS:closures两个viewController

我有三个viewController 第一,第二和第三 从二到开第三我用 Third *third = [[Third alloc]initWithNibName:@"Third" bundle:nil]; [self presentModalViewController:third animated:YES]; [third release]; 现在我想从第三个回到第一个; 那么我在viewDidAppear中设置第二个这样的代码: [self dismissModalViewControllerAnimated:NO]; 但1秒钟,我看到第二,我不想看…我该怎么办?

在rootViewController中使用第二个UIWindow时,会导致界面旋转变黑

(iOS 7.0.3,Xcode 5.0.1) 我的应用程序中有第二个UIWindow用于在状态栏上方显示自定义放大镜。 但是,一旦我设置了这个窗口的rootViewController(用于界面旋转和一些其他的东西),主界面在界面旋转animation过程中变黑。 要重现:创build单个视图的iOS应用程序,并将以下添加到主UIViewController。 // To @interface: @property (nonatomic, strong) UIWindow *secondWindow; // In viewDidLoad: self.secondWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.secondWindow.rootViewController = [[UIViewController alloc] initWithNibName:nil bundle:nil]; self.secondWindow.hidden = NO; 任何帮助赞赏。

当使用ARC的NSNotificationCenter代码块方法时,不会调用视图控制器dealloc

当我在视图控制器的-viewDidLoad:方法中使用-addObserverForName: object: queue: usingBlock: for NSNotificationCenter时, -dealloc方法最终不会被调用。 (当我删除-addObserverForName: object: queue: usingBlock: ,再次调用-dealloc 。) 使用-addObserver: selector: name: object:似乎没有这个问题。 我究竟做错了什么? (我的项目正在使用ARC。) 下面是我的实现的一个例子,以防万一我在这里做错了什么: [[NSNotificationCenter defaultCenter] addObserverForName:@"Update result" object:nil queue:nil usingBlock:^(NSNotification *note) { updateResult = YES; }]; 在此先感谢您的帮助。 我已经尝试添加以下(无济于事): – (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; if ([self isMovingFromParentViewController]) { [[NSNotificationCenter defaultCenter] removeObserver:self]; } }

在更新到iOS 7之后,iOS 6中的所有视图都向上移动,并被导航栏隐藏

我已经将我的iPhone更新到iOS 7,并重新编译我的应用程序,在.xib文件和设备上的所有视图都向上移动,其上部分由导航栏隐藏。 在我的viewController我设置self.edgesForExtendedLayout = UIRectEdgeNone; 现在iOS 7上的一切都看起来不错,但是当我用Deployment Target 6.0编译我的项目并在iOS 6设备上testing它时,所有的视图都被导航栏再次隐藏了。我怎样才能使它们在iOS 7和iOS 6上同时一致? 我现在不想破坏iOS 6的支持。