Tag: uiview

移动到转换的视图时保持原始的视图方向

在图1中,我有一个名为parentView1的UIView(这是灰色的颜色视图)。 它有子视图(图片中的4)。 在将CGAffineTransformRotate应用到parentView1之前,我可以拖动一个视图(红色垂直)并放入parentView1,结果如图2所示。 但是,如果我首先在parentView1上执行CGAffineTransformRotate(请参阅代码),然后通过拖放将红色垂直视图添加到parentView1中,红色垂直视图也会立即旋转到与parentView1(图3)相同的状态垂直的看法。 我不希望它发生。 我需要将红色的垂直视图放置在原来的方向上,然后才能被拖走。 反过来也会发生同样的效果:如果parentView1已被旋转,则将子视图从parentView1移动到边界之外。 任何build议? 代码旋转parentView1: self.parentView1.transform = CGAffineTransformRotate(self.parentView1.transform, degreesToRadians(45)); 将代码从父级移到另一级: -(void)getNewPosition2:(UIView *)viewToConvert parentView:(UIView *)parentViewx superParentView:(UIView *)superParentView { CGPoint newPoint = [superParentView convertPoint:viewToConvert.center fromView:parentViewx]; // viewToConvert.layer.position = newPoint; viewToConvert.center = newPoint; [viewToConvert removeFromSuperview]; [superParentView addSubview:viewToConvert]; } 调用上面的getNewPostition2方法: [self getNewPosition2:recognizer.view parentView:self.view superParentView:self.parentView1];

如何控制UIWebView的JavaScript

这是UIWebview和切换UIView上的button。 网页包括JavaScript。 我想要控制UIWebView的JavaScript。 我想要的是,每当UIView上的button切换,JavaScript打开或closures。 可能吗? 如果是这样,我该怎么办? 我不知道该怎么办 这是我的JavaScript代码: – (void)viewDidLoad { [super viewDidLoad]; NSString *var = nil; var = @"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>" "<html> " " <head> " " <title> New Document </title> " "<script type='text/javascript'> " "function colorChange(){ " " var id=document.getElementById('yellow'); " " var backcolor = id.style.backgroundColor; " " […]

坚实的解决scheme,以基于子视图灵活调整UIView的大小

想象一下,你有四个左右的意见,所有宽度100,不同的高度。 你有一个包装所有的包装视图W. A | B | W C | D | 小视图的高度可以改变。 那时候你想要他们全部移动,适当地浮动,并resizeW. 现在,我正要写几行代码来做到这一点。 所以..(1)你会find所有的子视图,并从上到下依次列出。 那么(2)每次有变化,你都要(3)重新定位每个ABCD。 每一个的位置是它上面项目的高度的总和,(4)将W调整到所有高度的总和。 现在,这一切都好,但白痴重新发明轮子! 我在iOS中缺less明显的东西吗? 是不是每个人都用这个包来做呢? 还是内置的东西? 情况如何? (请注意,当然,对于我们的Android朋友来说,这是内置的!当然,任何web-html系统都会自动完成此操作。) iOS视图的正确工程解决scheme是什么? logging这只是iOS7 +,没有老式的东西需要被覆盖,如果它有所作为。 干杯

内存不被释放,甚至解散视图控制器之后调用dealloc方法

我在做什么是我在后台创build大量的UIView,并保存在一个NSMutableArray以后使用。 但是,当我closures视图控制器我检查内存在Xcode中,似乎有些内存不被释放。 我检查了; 视图控制器正在被释放。 请检查: 几次显示和解散视图控制器后,这发生。 其中一些正在被释放,但不是全部。 谢谢。

推视图应该以透明的背景出现

我只是从一个angular度推动另一种观点。 这个代码后,推送的视图将显示为透明。 我已经使用过很多次了。 这是如此简单。 settings *set = [[settings alloc] initWithNibName:@"settings" bundle:nil]; set.view.backgroundColor = [ [UIColor blueColor] colorWithAlphaComponent:0.3f]; [self.navigationController pushViewController:set animated:YES ]; 但是现在用最新的ios和xcode ,推送视图不再变得透明。 所以如果有人有任何其他的解决scheme,那么请让我知道。 我已经提到了很多关于这个的post http://blog.typpz.com/2013/12/09/ios-sdk-create-a-pop-up-window/ 在UIView上设置alpha将在其子视图上设置alpha,这不应该发生 自定义用户界面:iOS中的popup窗口Objective-C 在UIView上设置alpha将在其子视图上设置alpha,这不应该发生 并问了很多其他成员,但是无法解决这个问题。

在iPad上的UIInterfaceOrientation期间更改UIViews

我正在尝试改变旋转的观点,因为我的观点必须从纵向到横向显着不同。 现在,我正在使用的代码工作一次,然后应用程序冻结时试图回旋。 无论哪个方向都没有什么区别。 例如:如果我在景观和旋转肖像一切都很好,直到我旋转回景观,然后冻结,没有任何东西。 这是我用来实现这个的代码 在我的“viewDidLoad”方法 [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil]; 然后我把这个叫做轮换: – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; } – (void)didRotate:(NSNotification *)notification { UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; if ((orientation == UIDeviceOrientationLandscapeLeft) || (orientation == UIDeviceOrientationLandscapeLeft)) { // present the other viewController, it's only viewable […]

在主视图Swift中embedded子视图

如果你看这个图像 (我不想上传它,因为它不属于我),你会看到在iPad的设置应用程序的主uiview控制器内看起来是一个uiview。 我的问题是,如何复制这个编程? 换句话说,我如何在另一个embeddedUIView? 这就是我所知道的, 根据我的研究,这被称为“子视图”。 它是否正确? 我已经创build了一个UIView与我想要在界面生成器中的适当的元素。 它目前不是子视图,而是与我的主要观点在同一级别上。 除了Obj-C,我发现了同样的确切问题 ,而不是我的语言(Swift)。 这是我需要的: 点击button后,如何在swift中编程生成子视图? 由于这个子视图在UI元素方面非常复杂,我希望能够在界面构build器中进行devise。 以下是我到目前为止: @IBAction func buttonPressedSpawnSubview(sender: AnyObject) { //Open a subview from Interface builder. } @IBAction func closeButtonPressedSpawnSubview(sender: AnyObject) { //kill the subview. 有人可以帮我弄清楚如何填写注释行吗?

如果通过performSelectorInBackground控制UI,会发生什么情况?

我读了一些信息,UI界面只在MainThread上更新。 我需要asynchronous更新一些UIButton的,所以我使用performSelectorInBackground ,它在模拟器和设备(iPad4)上工作正常。 [self performSelectorInBackground:@selector(toggleToUpperWhenSingleShift) withObject:nil]; – (void)toggleToUpperWhenSingleShift{ shiftStateIndicator = 1; for (UIView *aPad in self.subviews) { if ( [aPad isKindOfClass:[UIButton class]] ) { UIButton *aButPad = (UIButton *)aPad; NSMutableString *currentTitle = [NSMutableString stringWithString:[aButPad titleForState:UIControlStateNormal]]; NSString *firstChar = [currentTitle substringToIndex:1]; [currentTitle replaceCharactersInRange:NSMakeRange(0, 1) withString:[firstChar uppercaseString]]; [aButPad setTitle:currentTitle forState:UIControlStateNormal]; [aButPad setTitle:currentTitle forState:UIControlStateHighlighted]; currentTitle = [NSMutableString stringWithString:[aButPad […]

UIButtonselect器不能在嵌套的UIViews中工作

我有这个问题让我发疯。 我花了几十年的时间来弄明白为什么会发生这种情况。 我有一个UIScrollView作为UIView scrollView 。 在这个scrollView中,我有三个不同的在运行时创build的UIView 。 在这三个UIView的一个中,我创build了一个button。这里是我的代码。 UIButton *buttonLike = [UIButton buttonWithType:UIButtonTypeRoundedRect ] ; buttonLike.frame =CGRectMake(scrollViewWidth +200, 30,36, 16); buttonLike.imageView.image = [UIImage imageNamed:@"like.png"]; [buttonLike addTarget:self action:@selector(buttonLikePressed:) forControlEvents:UIControlEventTouchUpInside] ; scrollViewWidth也是一个常量定义和初始化。 而且,我添加这个buttonLike作为UIViews中的一个子视图。 但是,无论我做什么, buttonLikePressed方法都不会调用。 我已经search了这个问题,并提出了这些解决scheme。 Iphone的UIButton不能在嵌套的UIViews工作 iPhone SDK 2:UIButton不能在从nib文件加载的嵌套视图中工作 他们描述了同样的问题。 但是,作为解决scheme,他们使用初始化他们的观点 -(id)initWithFrame:(CGRect)aRect方法。 那么,我已经使用initWithFrame方法初始化了我的UIViews 。 你们有什么想法我可以解决这个问题吗? 谢谢你们

如何从swift中更改控制器的某些部分的颜色?

我已经创build了一个自定义的UIView.I使它是一些颜色的一部分使用下面的代码作为其他颜色。 import Foundation class BottomView:UIView { override func draw(_ rect: CGRect) { self.fillColor(with: .gray, width: 20) } func fillColor(with color:UIColor,width:CGFloat) { let topRect = CGRect(x:0, y:0, width : width, height: self.bounds.height); color.setFill() UIRectFill(topRect) } } 现在我的观点有一些颜色的初始部分是灰色的,其余的颜色是不同的。 现在从控制器,如果我尝试将其颜色更改为绿色,它不会从开始位置更改。 原色之后颜色发生了变化。 请让我知道我可以完全设置为绿色背景颜色。