Tag: uiview

_UIReplicantView和snapshotViewAfterScreen更新如何获取其内容?

-renderInContext:自从它出现以来就被广泛的使用,但是不可能渲染OpenGL图层,AVPreviewLayer(可能是因为是一种OpenGL图层),我仍然无法正确渲染CATiledLayer。 在iOS7中引入了2个新API来获取屏幕截图,其中一个是-snapshotViewAfterScreenUpdates:返回一个特定的视图( _UIReplicantView )和-drawViewHierarchyInRect:afterScreenUpdates:最后一个是-renderInContext的一种replace,不幸的是它似乎有相同的限制。 -snapshotViewAfterScreenUpdates:它似乎也适用于OpenGL和AVPreviewLayer,不幸的是,如果你想做特定的animation或者使用内容作为背景(比如一个uibutton),那么这样的视图并不是很有用。 我试图从返回的视图中获取内容,但是我仍然没有运气。 有人试过了吗?

UIview animatewithDuration不适用于swift

这似乎是一个非常奇怪的问题。 我在storyBoard中有一个小图像视图,并添加了点击手势。 在手势的行动,我想添加一个不同的图像视图。 Objective C code- -(void)tapImage{ bigImageView = [[UIImageView alloc]init]; [bigImageView setImage:[UIImage imageNamed:@"main.png"]]; [bigImageView setFrame:CGRectMake(0, 0, 50, 50)]; [self.view addSubview:bigImageView]; [UIView animateWithDuration:2.0 delay:2.0 options:UIViewAnimationOptionCurveEaseInOut animations:^(void) { [bigImageView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; //Leave it empty } completion:^(BOOL finished){ // Your code goes here }]; } 工作完全正常。 SWIFT代码 – func imageTapped() { println("Tapped on Image") bigImageView […]

嵌套的UIScrollViews。 尝试让其中一个以与另一个放大速度相同的速度和因子缩小。视图冻结

我正在尝试设置嵌套的UIScrollViews。 我有两个相同的内容大小640 * 640像这样设置的滚动视图:canvasScrollView( UIScrollView )> contentScrollView( UIScrollView )>内容( UIView )。 这些都在UIViewController 。 我想要发生的是,当用户捏放大contentScrollView中的内容时,canvasScrollView视图以相同的因子和速度缩小。 我已经尝试设置如下的代码: #import "ViewController.h" #import "ContentView.h" @interface ViewController () <UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *canvasScrollView; @property (strong, nonatomic) UIView *viewForZoom; @property (strong, nonatomic) ContentView *content; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; UIScrollView *contentScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, […]

使一个UIView添加子视图到一个单一的图像?

我有添加子视图的观点。 我想用许多子视图把这个观点转换成一个图像或视图。 这怎么可能? 谢谢

如何在UIView的不同位置给图像animation多个图像?

如何在'UIView'中的Different Locations给“图像”animationmultiple images ? 1)我有3个图像。 2)我想要在3 different locations添加这3 Imagesanimation,意味着在some duration animatedly添加一个个图像? 我怎样才能做到这一点?

切换UITextField(Swift)时出现键盘调整视图

我有两个UIView的,主要的一个,当键盘出现时会向上移动(第二个UIView有两个文本框)。 我设法用下面的代码做到这一点: LoginViewController.swift: override func viewDidLoad() { super.viewDidLoad() self.originalCenter = self.contentView.center; NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardDidShow:", name: UIKeyboardDidShowNotification, object: nil) } func keyboardDidShow(notification: NSNotification) { UIView.animateWithDuration(1.0, animations: { self.contentView.center = CGPointMake(self.originalCenter.x, self.originalCenter.y – 40); }) } 我最大的问题在于,因为UIView的移动取决于键盘通知,所以当用户点击一个TextField时,它会上移,但是当他点击第二个TextField时,视图会自动下移。 我在做什么错了? 这是发生了什么事: 键盘错误Gif 这个问题在这里得到了回答,但是我需要Swift语言的解决scheme。

故事板自动复制到新项目

我在Xcode有一个项目,让我们把它命名为A ,其中我有一个故事板和几个视图。 我只需要项目A一部分。 因此,我创build了一个新项目B ,并用xib创build了一个新的UIViewController ,并将两个UIViews从项目A复制到B.现在看起来像这样,复制RPM Display和Speed Display (通过从xib拖动)从A到B. AnalogDisplayContainer属于AnalogDisplayContainer类,我们在PD_AnalogDisplayContainer类中有两个sockets: @property (nonatomic,assign) IBOutlet PD_AnalogDisplay* speedDisplay; @property (nonatomic,assign) IBOutlet PD_AnalogDisplay* rpmDisplay; 它们连接到xib的相应视图。 (我们在项目A有完全相同的代码。)这些UIViews也有一些UILabels ,它们自动复制到项目B ,我也需要它们。 你在这里看到他们: 到这里,我做了什么的描述。 现在,问题是:我在PD_AnalogDisplay类中有三个网点。 @property (nonatomic, assign) IBOutlet UILabel* unitLabel; @property (nonatomic, assign) IBOutlet UILabel* digitalIntegerValue; @property (nonatomic, assign) IBOutlet UILabel* digitalFloatValue; 然而,奇怪的是,当我点击这些网点旁边的小点时,它显示了与故事板的联系, 当我点击连接时,我会看到来自项目A的整个故事板和视图。 另外,当我点击xib时,这些连接不会显示出来。 我在项目B中search,没有故事板,或者在前面的图片中以代码的forms看到的所有这些东西。 所以我不知道这是从哪里来的。 我得到运行时错误: 加载“RPMViewController”笔尖,但视图sockets没有设置。

在新的视图添加到层​​次结构中时,在屏幕上查看resize和重新定位本身

我有这个问题,我在屏幕上移动一个'A'视图,无论用户想要移动(这是从故事板添加),我移动视图使用事件处理方法,这是工作正常, 现在我有什么问题,当我添加新的'B'视图(编程)到ViewControllers视图,我的'A'视图,我已经移动到其他位置,自动移动到其默认位置。 (在故事板上的位置)。 所以我想,我已经find了原因,每当我们添加新视图的视图层次viewWillLayoutSubViews:get的调用,并将其视图重新定位到其默认值。 所以我想知道如何防止这个? 看到下面的图像更多的细节: 注意: A和B(橙色和红色都是UIView) 从故事板添加橙色视图,并以编程方式添加红色视图。 也看到我以前关于类似问题的问题, 任何帮助,将不胜感激。

UIView超级属性是弱还是强?

UIView标题指出,superview属性是强大的 open var superview: UIView? { get } 但它的行为就像一个弱的属性,即如果我创buildview1和view2,然后调用view1.addSubview(view2),然后保存强ref只view2(不view1),即使view2引用它view1将被定义通过其superview财产。 所以,我想知道它是如何实现的。 编辑 :例如,这个代码打印“deinit”(ViewController实例显示在屏幕上),这意味着view1被定义,尽pipeview2应该通过superview属性强有力地持有它。 class View: UIView { deinit { print("deinit") } } class ViewController: UIViewController { var view2 = UIView() override func viewDidLoad() { super.viewDidLoad() let view1 = View() view1.addSubview(view2) } }

只在landscapeLeft和landscapeRight之间旋转

我有风景模式的vidoe播放。 当设备方向改变时,视图仅在landscapeLeft和landscapeRight之间旋转。 这就是说在播放电影时没有肖像模式。 除了电影视图之外,其他视图是portraint模式,所以应用程序configuration是肖像。 如何使电影视图只在横向模式下旋转。 这是我的代码的一部分。 的appdelegate, internal var shouldRotate = false func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { return shouldRotate ? .allButUpsideDown : .portrait } 电影视图控制器, let appDelegate = UIApplication.shared.delegate as! AppDelegate appDelegate.shouldRotate = true // or false to disable rotation let value = UIInterfaceOrientation.landscapeLeft.rawValue UIDevice.current.setValue(value, forKey: "orientation") 目前的问题是,当方向发生变化时,电影视图可以是简单的。