Questions tagged «uiview»

UIView是iOS的UIKit框架中的类,它定义了屏幕上的矩形区域以及用于管理该区域中内容的界面。所有UI元素要么是UIView的子类,要么包含在UIView中。


13
iOS-通过视图转发所有触摸
我有一个视图叠加在许多其他视图之上。我仅使用过分检测屏幕上的某些触摸,但除此之外,我不希望该视图停止其下的其他视图(例如滚动视图)的行为。我如何转发所有触摸此叠加视图?它是UIView的子目录。
141 events  uiview  touch 

8
iPhone SDK:loadView和viewDidLoad有什么区别?
在iPhone应用程序中使用视图和视图控制器时,有人可以解释loadView和viewDidLoad之间的区别吗? 我的个人情况是,我将根据代码构建所有视图,如果没有任何区别,则我不会也不会使用Interface Builder。 我发现,通常当我将初始化代码添加到loadView时,最终都会得到无限的堆栈跟踪,因此我通常在viewDidLoad中完成所有子视图的构建...但是当每个执行时,我还是不清楚的放置init代码的更合适的地方是什么。理想的是初始化调用的简单图。 谢谢!

15
如何拍摄UIView的屏幕截图?
我想知道我的iPhone应用程序如何将特定屏幕截图UIView为UIImage。 我尝试了这段代码,但是得到的只是空白图像。 UIGraphicsBeginImageContext(CGSizeMake(320,480)); CGContextRef context = UIGraphicsGetCurrentContext(); [myUIView.layer drawInContext:context]; UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); myUIView尺寸为320x480,并具有一些子视图。正确的方法是什么?

11
更改CALayer的anchorPoint可移动视图
我想更改anchorPoint,但将视图保留在同一位置。我已经尝试过NSLog-ing self.layer.position,self.center并且无论如何更改anchorPoint,它们都保持不变。但是我的观点动了! 有关如何执行此操作的任何提示? self.layer.anchorPoint = CGPointMake(0.5, 0.5); NSLog(@"center point: %f %f", self.layer.position.x, self.layer.position.y); self.layer.anchorPoint = CGPointMake(1, 1); NSLog(@"center point: %f %f", self.layer.position.x, self.layer.position.y); 输出为: 2009-12-27 20:43:24.161 Type[11289:207] center point: 272.500000 242.500000 2009-12-27 20:43:24.162 Type[11289:207] center point: 272.500000 242.500000

10
从情节提要中的外部Xib文件加载视图
我想在情节提要中的多个视图控制器中使用一个视图。因此,我考虑过在外部Xib中设计视图,以使更改反映在每个ViewController中。但是如何从情节提要中的外部xib加载视图,甚至有可能?如果不是这种情况,还有哪些其他替代方法可以适应上述情况?
131 ios  uiview  storyboard  xib 

9
如何绘制只是一个圆圈的自定义UIView-iPhone应用程序
我将如何绘制一个实际上只是一个球(一个2D圆)的自定义UIView?我是否要重写drawRect方法?有人可以告诉我绘制一个蓝色圆圈的代码吗? 另外,可以在类本身内更改该视图的框架吗?还是我需要从其他班级更改框架? (只是试图设置一个反弹的球)
129 iphone  ios  ipad  uiview 

9
了解convertRect:toView:,convertRect:FromView:,convertPoint:toView:和convertPoint:fromView:方法
我正在尝试了解这些方法的功能。您能否提供一个简单的用例来理解他们的语义? 在文档中,例如,convertPoint:fromView:方法描述如下: 将点从给定视图的坐标系转换为接收者的坐标系。 什么是坐标系是什么意思?怎么样接收器? 例如,像下面这样使用convertPoint:fromView:是否有意义? CGPoint p = [view1 convertPoint:view1.center fromView:view1]; 使用NSLog实用程序,我已验证p值与view1的中心重合。 先感谢您。 编辑:对于那些感兴趣的人,我创建了一个简单的代码片段以了解这些方法。 UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 200)]; view1.backgroundColor = [UIColor redColor]; NSLog(@"view1 frame: %@", NSStringFromCGRect(view1.frame)); NSLog(@"view1 center: %@", NSStringFromCGPoint(view1.center)); CGPoint originInWindowCoordinates = [self.window convertPoint:view1.bounds.origin fromView:view1]; NSLog(@"convertPoint:fromView: %@", NSStringFromCGPoint(originInWindowCoordinates)); CGPoint originInView1Coordinates = [self.window convertPoint:view1.frame.origin toView:view1]; …
128 ios  layout  uiview 

4
如何在Swift中为UIView子类编写自定义init?
假设我想使用a 和an init作为UIView子类。StringInt 如果我只是继承子类,我将如何在Swift中做到这一点UIView?如果我只是做一个自定义init()函数,但是参数是一个String和一个Int,它告诉我“从初始化返回之前没有调用super.init()”。 如果我打电话给super.init()我,我必须使用指定的初始化程序。我应该在那里使用什么?框架版本?编码器版本?都?为什么?


6
iOS:如何为新的自动布局约束(高度)设置动画
我以前从未使用过自动布局约束。我正在使用一个小型新应用程序,并且注意到NIB的视图默认为自动布局。因此,我认为我将借此机会与之合作,并尝试弄清苹果公司将如何发展。 第一个挑战: 我需要调整MKMapView的大小,然后将其设置为新位置。如果我以惯常的方式这样做: [UIView animateWithDuration:1.2f animations:^{ CGRect theFrame = worldView.frame; CGRect newFrame = CGRectMake(theFrame.origin.x, theFrame.origin.y, theFrame.size.width, theFrame.size.height - 170); worldView.frame = newFrame; }]; ...然后,无论何时更新同级视图(在我的情况下,UISegmentedControl的标题正在更新[myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0]),MKMapView都会“捕捉”回到其原始高度。 所以,我觉得我想要做的是从等于父视图的HIGHT到可相对于UISegmentedControl,它的顶部改变的MKMapView的限制被覆盖:V:[MKMapView]-(16)-[UISegmentedControl] 我想要的是缩短MKMapView的高度,以便显示地图视图下的某些控件。为此,我认为我需要将约束从固定的全尺寸视图更改为底部约束到UISegmentedControl顶部的约束...并且我希望它随着视图缩小到新大小而进行动画处理。 如何做到这一点? 编辑- 尽管视图的底部确实会立即向上移动170,但该动画没有设置动画: [UIView animateWithDuration:1.2f animations:^{ self.nibMapViewConstraint.constant = -170; }]; 并将其nibMapViewConstraint在IB中连接到底部的垂直空间约束。

14
使用CALayers的圆形UIView-仅在某些角落-如何?
在我的应用程序中-有四个按钮,名称如下: 左上方 左下方 右上 底部-右 在按钮上方有一个图像视图(或UIView)。 现在,假设用户点击-顶部-左按钮。上方的图片/视图应在该特定角处四舍五入。 我在将圆角应用于UIView时遇到了一些困难。 现在,我正在使用以下代码将圆角应用于每个视图: // imgVUserImg is a image view on IB. imgVUserImg.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"any Url Here"]; CALayer *l = [imgVUserImg layer]; [l setMasksToBounds:YES]; [l setCornerRadius:5.0]; [l setBorderWidth:2.0]; [l setBorderColor:[[UIColor darkGrayColor] CGColor]]; 上面的代码将圆度应用于提供的View的每个角。相反,我只是想将圆度应用于选定的角,例如-顶部/顶部+左侧/底部+右侧等。 可能吗?怎么样?


5
强制UIView重绘的最可靠方法是什么?
我有一个带有项目列表的UITableView。选择一个项目会推送一个viewController,然后继续执行以下操作。从方法viewDidLoad中,我触发了URL请求,以获取子视图中的on所需的数据-覆盖了drawRect的UIView子类。当数据从云到达时,我开始构建视图层次结构。有问题的子类将传递数据,并且它的drawRect方法现在具有需要呈现的所有内容。 但。 因为我没有显式调用drawRect-Cocoa-Touch可以处理该问题-我无法通知Cocoa-Touch我真的非常希望该UIView子类呈现。什么时候?现在会很好! 我已经尝试过[myView setNeedsDisplay]。有时候这种方法行得通。非常参差不齐。 我已经为此努力了几个小时。有人可以为我提供一个坚如磐石,有保证的方法来强制UIView重新渲染。 这是将数据馈送到视图的代码片段: // Create the subview self.chromosomeBlockView = [[[ChromosomeBlockView alloc] initWithFrame:frame] autorelease]; // Set some properties self.chromosomeBlockView.sequenceString = self.sequenceString; self.chromosomeBlockView.nucleotideBases = self.nucleotideLettersDictionary; // Insert the view in the view hierarchy [self.containerView addSubview:self.chromosomeBlockView]; [self.containerView bringSubviewToFront:self.chromosomeBlockView]; // A vain attempt to convince Cocoa-Touch that this view is …

4
如何创建自定义iOS视图类并实例化它的多个副本(在IB中)?
我目前正在制作一个具有多个计时器的应用程序,这些计时器基本上都是相同的。 我想创建一个自定义类,该类使用计时器的所有代码以及布局/动画,因此我可以拥有5个相同的计时器,它们彼此独立运行。 我使用IB(xcode 4.2)创建了布局,计时器的所有代码当前都位于viewcontroller类中。 我很难集中精力如何将所有内容封装到自定义类中,然后将其添加到视图控制器中,我们将不胜感激。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.