Tag: uiview

如何animation层shadowOpacity?

我有一个视图,我已经把layerOpacity设置为1。 theView.layer.shadowOpacity = 1.0; 当视图更靠近屏幕时,这看起来很好。 当我把这个观点与另一个有阴影的观点齐平时,他们看起来不太好。 有没有一种方法可以使我的图层上的shadowOpacityanimation为0? 我尝试使用animation块,但似乎这个属性是不可animation的。 编辑:请求代码不起作用: [UIView animateWithDuration:1.0 animations:^{ splitView2.layer.shadowOpacity = 0;} completion:NULL];

xcode / iOS:Autoresize填充视图 – 显式帧大小是必不可less的?

我想要一个UITextView来填充它的superView ,这是一个UIViewController实例内的普通UIView 。 看来,我不能让UITextView完全通过使用autoresizingMask和autoresizesSubviews的API指定的属性。 设置这些在这里显示没有什么; 即使它的superView填充屏幕, UITextView仍然很小。 // use existing instantiated view inside view controller; // ensure autosizing enabled self.view.autoresizesSubviews = YES; self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth; // create textview textView = [[[UITextView alloc] autorelease] initWithFrame:CGRectMake(0, 0, 1, 1)]; // enable textview autoresizing [textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth| UIViewAutoresizingFlexibleHeight]; // add textview to view [self.view addSubview:textView]; 但是,如果我在视图控制器中实例化我自己的视图,replace它的'.view'属性,那么一切都按预期工作,textView填充它的超级视图: // reinstantiate […]

视图内的AVPlayer图层在UIView帧更改时不resize

我有一个UIView包含一个AVPlayer来显示video。 改变方向时,我需要改变video的大小和位置。 我对调整层次不是很有经验,所以我在调整video时遇到了问题。 我开始创buildAVPlayer并将其播放器添加到我的videoHolderView图层: NSURL *videoURL = [NSURL fileURLWithPath:videoPath]; self.avPlayer = [AVPlayer playerWithURL:videoURL]; AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer]; playerLayer.frame = videoHolderView.bounds; playerLayer.videoGravity = AVLayerVideoGravityResizeAspect; playerLayer.needsDisplayOnBoundsChange = YES; [videoHolderView.layer addSublayer:playerLayer]; videoHolderView.layer.needsDisplayOnBoundsChange = YES; 然后,稍后,我更改videoHolderView框架的大小和位置: [videoHolderView setFrame:CGRectMake(0, 0, 768, 502)]; 在这一点上,我需要avPlayer调整到这些相同的尺寸。 这不会自动发生 – avPlayer停留在videoHolderView内的小尺寸。 如果有人可以帮忙,我真的很感激任何意见。 多谢你们。

iOS:UIView的子类init或initWithFrame:?

我做了一个具有固定框架的UIView的子类。 所以,我可以重写init而不是initWithFrame: 例如: – (id)init { if ((self = [super initWithFrame:[[UIScreen mainScreen] bounds]])) { self.backgroundColor = [UIColor clearColor]; } return self; } -initWithFrame:的Xcode文档说:“如果以编程方式创build视图对象,则此方法是UIView类的指定初始值设定项。子类可以重写此方法以执行任何自定义初始化,但必须在实现开始时调用super 。 “ “指定初始值设定项”是什么意思?

iPhone – 在UIView上绘制透明矩形,以显示下方的视图

我目前有两个UIViews:红色背景和其他蓝色之一。 蓝色视图是红色视图的子视图。 我想要做的是能够在蓝色视图上“剪切”矩形,以便红色视图可以被看到。 你怎么去做这个?

如何做两个UIViewControllers之间的翻转animation,同时点击信息button?

我有一个名为“LoginViewController”的login页面。 我在这个页面有一个信息button。 如果我点击它,我想显示一些关于我的应用程序的信息。 我也想用翻页animation来呈现那个信息页面。 创build信息button的代码是, infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; infoButton.frame = CGRectMake(285, 425, 30, 30); infoButton.backgroundColor = [UIColor clearColor]; [infoButton addTarget:self action:@selector(displayInfoView) forControlEvents:UIControlEventTouchUpInside]; 如果我点击信息button, displayInfoView方法将被调用。 在那里我可以显示一个UIView来显示一些信息。 我对吗? 对于翻转animation,我使用这个代码… [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:.8]; [UIView setAnimationTransition:([loginPageView superview] ? UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight) forView:mainView cache:YES]; if ([infoView superview]) { [infoView removeFromSuperview]; [mainView addSubview:loginPageView]; } else { [loginPageView removeFromSuperview]; […]

在UIView中切透明的洞

想要创build一个内部具有透明框架的视图,以便通过这个透明框架可以看到视图背后的视图,但是在这之外的区域不会显示出来。 所以基本上是视图内的一个窗口。 希望能够做到这样的事情: CGRect hole = CGRectMake(100, 100, 250, 250); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor); CGContextFillRect(context, rect); CGContextAddRect(context, hole); CGContextClip(context); CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, rect); 但清除不会覆盖黑色,所以整个背景是黑色的。 任何想法沿着这些线?

如何在iPhone上绘制“语音泡泡”?

我试图得到一个类似于Mac OS X中的“语音气泡”效果,当你点击在docker上的东西。 这是我现在拥有的: 我需要得到较低部分的“三angular形”部分。 有什么办法可以画出这样的东西,并得到一个边界吗? 这将是一个iPhone应用程序。 提前致谢! 编辑:非常感谢Brad Larson,现在看起来像这样:

无法在viewDidAppear之前正确设置框架

我想知道如果有人知道为什么当你在viewDidLoad和viewWillAppear设置子视图的框架的变化不会影响在屏幕上,但如果你设置它在viewDidAppear他们呢? 在我的情况下,我加载了一个自定义xib有两个tableviews,然后尝试在viewDidLoad移动它们,以允许在viewDidLoad添加另一个视图的空间,因为它并不总是需要显示它。 问题是,当我设置viewDidLoad或viewWillAppear它在对象上设置框架,我可以看到通过打印出来,但它不反映在屏幕上。 将设置的框架调用移动到viewDidAppear将导致一切按预期工作。 我认为我应该能够在viewDidLoad设置框架是错误的吗? – (id)init { if ( self = [super initWithNibName:@"MyView" bundle:nil] ) {} return self; } – (void)viewDidLoad { [super viewDidLoad]; self.descriptionWebView = [[[UIWebView alloc] initWithFrame:CGRectMake( 0, 0, self.view.frame.size.width, 200 )] autorelease]; [self.view addSubview:self.descriptionWebView]; self.tableView1.autoresizingMask = UIViewAutoresizingNone; self.tableView2.autoresizingMask = UIViewAutoresizingNone; [self.descriptionWebView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"…." withExtension:@"html"]]]; table1LocationWithHeader = CGRectMake( self.tableView1.frame.origin.x, 200, […]

删除UISearchBar下的1px边框

我无法直接在UISearchBar视图下移除1px边框。 现在它看起来不匹配我完成button视图。 我试过了: searchBar.layer.borderWidth = 0; searchBar.layer.shadowOpacity = 0; 但是,这似乎并没有工作。 有任何想法吗?