Tag: uiview

用Quartzcore /图层添加一个顶部边框到一个UIView?

是否有可能在UIView的顶部添加一个边框,如果是的话,请问如何?

如何在更改uiview隐藏模式的同时添加animation?

我想添加animation到一个视图,而改变其隐藏模式即 my_view.hidden=YES; 我在导航栏中添加了一个button。 当我们点击它时,新视图被设置为取消隐藏。 它在导航表的上部绘制。

以编程方式在UIView上添加UITextField

如何在iPhone编程中以编程方式在UIView上添加UITextField ? UITextField* text; UIView* view = [[UIView alloc]init]; [view addSubview:???];

如何在iOS上的视图之间进行展开/合同转换?

我正在尝试在iOS中创build一个视图或视图控制器的过渡animation,使其展开以填充整个屏幕,然后在完成时恢复到以前的位置。 我不确定这种types的转换是正式调用的,但是您可以在iPad的YouTube应用程序中看到一个示例。 当您点击网格上的某个search结果缩略图时,它会从缩略图展开,然后在您返回search时缩回到缩略图中。 我对这两方面感兴趣: 在一个视图和另一个视图之间转换时,你会如何做到这一点? 换句话说,如果视图A占据屏幕的某个区域,那么如何将它转换到占据整个屏幕的视图B,反之亦然? 你将如何过渡到这种模式的观点? 换句话说,如果UIViewController C当前正在显示并包含视图D,它占据了屏幕的一部分,那么如何使它看起来像视图D正在变成UIViewController E,它被模态地显示在C的顶部? 编辑:我添加一个赏金,看看是否得到这个问题更爱。 编辑:我有一些源代码可以做到这一点,Anomie的想法就像一个魅力,有一些改进。 我首先试着对模态控制器的视图(E)进行animation处理,但没有产生像放大屏幕一样的效果,因为它并没有扩大(C)中缩略图视图周围的所有东西。 所以然后我尝试了原始控制器的视图(C)的animation,但重绘它为一个生涩的animation,像背景纹理的东西没有正确放大。 所以我所做的是拍摄原始视图控制器(C)的图像,并将其放大到模态视图(E)中。 这种方法比我原来的方法要复杂得多,但看起来不错! 我认为这也是iOS如何进行内部转换的原因。 无论如何,这里的代码,我已经写在UIViewController类别。 的UIViewController + Transitions.h: #import <Foundation/Foundation.h> @interface UIViewController (Transitions) // make a transition that looks like a modal view // is expanding from a subview – (void)expandView:(UIView *)sourceView toModalViewController:(UIViewController *)modalViewController; // make a transition that looks like the […]

什么时候应该设置layer.shouldRasterize为YES

我已经通过设置视图的图层属性看到了一些lagyness问题的修复 view.layer.shouldRasterize = YES; 在使用UICollectionView并准备单元格和设置propery时,我看到了性能上的巨大差异。 不知道是什么影响。 这将是很好的解释。 谢谢!

无法获得UIView sizeToFit做任何有意义的事情

当我添加一个子视图到一个UIView ,或者当我调整现有的子视图,我期望[view sizeToFit]和[view sizeThatFits]来反映这种变化。 但是,我的经验是, sizeToFit什么都不做, sizeThatFits在更改前后返回相同的值。 我的testing项目有一个包含一个button的单一视图。 单击该button将向视图添加另一个button,然后在包含的视图上调用sizeToFit 。 在添加子视图之前和之后,视图边界被转储到控制台。 – (void) logSizes { NSLog(@"theView.bounds: %@", NSStringFromCGRect(theView.bounds)); NSLog(@"theView.sizeThatFits: %@", NSStringFromCGSize([theView sizeThatFits:CGSizeZero])); } – (void) buttonTouched { [self logSizes]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMake(10.0f, 100.0f, 400.0f, 600.0f); [theView addSubview:btn]; [theView sizeToFit]; [self performSelector:@selector(logSizes) withObject:nil afterDelay:1.0]; } 输出是: 2010-10-15 15:40:42.359 SizeToFit[14953:207] theView.bounds: {{0, […]

iphone uiview – 调整框架,以适应子视图

在添加子视图之后,是不是应该调整UIView框架的大小,以便框架是包含所有子视图所需的大小? 如果您的子视图是dynamic添加的,那么您如何确定容器视图框架需要的大小? 这不起作用: [myView sizeToFit];

了解convertPoint:toView:

我不太明白的方法convertPoint:toView: 在苹果的文档中写道 convertPoint:toView: 将接收器坐标系中的点转换为指定视图的点。 – (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view 但是,从一个到另一个的转换实际上是什么意思呢? 这是否意味着这两个边界的点有不同的单位 ? 或只是不同的价值观? 如果是后者,为什么有这样一种方法,当我们可以简单地将a的contentOffset的值赋给b的时候呢? CGPoint a = [a contentOffset]; [b setContentOffset:a]; convertPoint:toView:与简单分配contentOffset什么不同? 还是我误解了整个概念? 转换点实际上是做什么的? 何时应该使用这种方法?

不能把谷歌地图GMSMapView在主要视图的子视图?

我正在努力解决这个问题! 我想添加一个谷歌地图GMSMapView到UIView只是我的ViewController的主UIView的一部分。 这应该是简单的…我创造了故事板一个UIView的大小,我想要把它放在主UIView 。 从接口文件中摘录: @interface MapViewController : UIViewController <CLLocationManagerDelegate> @property(nonatomic) IBOutlet GMSMapView *mapView; 与主UIView内的这个UIView链接的mapView。 我在做什么: @synthesize mapView = _mapView; – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:10]; _mapView = [GMSMapView mapWithFrame:_mapView.bounds camera:camera]; _mapView.myLocationEnabled = YES; } 这应该工作,不是吗? 我得到的是,我的内部UIView是空的。 如果我在谷歌的开始指南谷歌地图集成文档后实例化一个地图,它的工作原理,但它将地图分配给MAIN UIView,那是一个不同的东西。 我甚至试图改变从UIView故事板到GMSMapView的我的mapView的类。 […]

如何强制UIView的layoutSubviews。

我有一个自定义的UIView有一个专门的,手动设置框架纵向和横向,因为autoresizingMasks只是不工作在我的情况。 我把这个框架设置在: – (void)viewWillAppear:(BOOL)animated 它按预期工作。 现在我的问题是,我的UIView还有子视图,也有专门的肖像/风景的位置。 我将这些子视图定位在: – (void)layoutSubviews 如果我现在离开我的viewController在纵向方向,旋转到另一个viewController横向,然后回到这个viewController我看到我的看法得到正确的resize,但我的视图,在layoutSubviews定位的子视图尚未重新定位,但在已经出现的观点之后,以animation的方式resize。 我什么都不做,我已经试过打电话了 – (void)layoutIfNeeded 以及: – (void)setNeedsLayout 有鉴于此,似乎并没有改变什么。 任何想法我做错了什么? 谢谢。