Tag: uiview

UIView animateWithDuration不会animationcornerRadius变体

我正在尝试animationUIView实例layer的cornerRadius的变化,但cornerRadius的变化立即发生。 代码如下: UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)]; view.layer.masksToBounds = YES; view.layer.cornerRadius = 10.0; [UIView animateWithDuration:1.0 animations:^{ [view.layer.cornerRadius = 0.0; }]; 谢谢大家谁给我任何提示。 编辑: 我设法使用Core Animation ,使用CABasicAnimationanimation这个属性。 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"cornerRadius"]; animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; animation.fromValue = [NSNumber numberWithFloat:10.0f]; animation.toValue = [NSNumber numberWithFloat:0.0f]; animation.duration = 1.0; [viewToAnimate.layer addAnimation:animation forKey:@"cornerRadius"]; [animation.layer setCornerRadius:0.0];

使用Interface Builder创buildUIScrollView的步骤

我正在尝试使用UIScrollView,似乎有一些基本的东西,我只是不理解。 比方说,我想在我的iPhone应用程序中使用UIScrollView。 我有一个充满了320x700button的视图。 显然,这对于320×480的iPhone来说太大了。 所以我知道我必须使用UIScrollView。 但是,这是我应该创造的对象的顺序 在“视图”中创build尺寸为320×700的UIScrollView 将所有的button等放在这个滚动视图上 在viewDidLoad中设置contentSize为320×700 将UIScrollView的委托设置为文件所有者,将FileOwner的视图设置为UIScrollView 将视图的大小重新设置为320×480。 这是正确的吗? 这有用,但对我来说没有意义。 我认为视图应该是canvas,我添加所有UI元素。 我想要iPhone应用程序的“canvas”为320×700,我希望能够把我的button等放在这个320×700的canvas上。 但是,如果我不将UIScrollView的大小更改回320×480,则不会滚动,因为我需要将UIScrollView的内容大小设置为大于其大小。 但是,如果我将UIScrollView的大小设置为320×480,那么在界面生成器中,我看不到屏幕和介于480和700之间的button! 所以看起来我应该进行所有编辑,并将所有UI元素添加到UIScrollView,然后将其重新设置为320×480! 有没有其他方法可以做到这一点更有意义? 我在理解这个应该如何工作时错过了什么?

如何通过从边缘拖动来调整UIView的大小?

在我的iPad应用程序中,我希望用户能够通过从其边缘拖动视图来调整UIView的大小。 我将使用iOS 5 SDK,那么最干净的方法是什么? 有没有其他的办法来实现这个没有处理touchesBegan,touchesMoved,等等?

如何列出iOS中的uiviewcontroller中的所有子视图?

我想列出UIViewController所有子视图。 我尝试了self.view.subviews ,但并不是所有的子视图都列出来了,例如UITableViewCell中的子视图找不到。 任何想法?

在iOS中出现键盘时向上移动UIView

我有一个UIView,它不在UIScrollView里面。 我想在键盘出现时向上移动视图。 在我尝试使用这个解决scheme之前: 当键盘出现时,如何使UITextField向上移动? 。 这工作正常。 但是,在将数据插入到文本框之后,它将我带到另一个视图,当我回到此页面时,它只是跳跃,而我看不到我的文本字段。 有没有更好的解决scheme,对于这个问题? 提前致谢!

用xib创build一个可重用的UIView(并从storyboard中加载)

好的,在StackOverflow上有很多关于这个的post,但没有一个特别清楚解决scheme。 我想创build一个自定义的UIView与伴随的xib文件。 要求是: 没有单独的UIViewController – 一个完全独立的类 在课堂上的奥特莱斯让我设置/获取视图的属性 我目前的做法是: 覆盖-(id)initWithFrame: -(id)initWithFrame:(CGRect)frame { self = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil] objectAtIndex:0]; self.frame = frame; return self; } 使用-(id)initWithFrame:以编程方式实例化-(id)initWithFrame:在我的视图控制器中 MyCustomView *myCustomView = [[MyCustomView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [self.view insertSubview:myCustomView atIndex:0]; 这工作正常(虽然从来没有调用[super init] ,只是设置对象使用加载的笔尖的内容似乎有点怀疑 – 有build议在这种情况下添加子视图也工作正常)。 不过,我希望能够从storyboard中实例化视图。 所以我可以: 在故事板的父视图中放置一个UIView 将其自定义类设置为MyCustomView 覆盖-(id)initWithCoder: – 我见过的代码最常用的模式如下: -(id)initWithCoder:(NSCoder *)aDecoder { self […]

在Swift中从nib加载一个UIView

这里是我用来加载我的自定义UIView一个笔尖的Objective-C代码: -(id)init{ NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil]; return [subviewArray objectAtIndex:0]; } 什么是Swift中的等效代码?

为什么masksToBounds = YES防止CALayer阴影?

用下面的代码片段,我给一个UIView添加了阴影效果。 哪个工作得很好。 但只要我把视图的masksToBounds属性设置为YES 。 投影效果不再呈现。 self.myView.layer.shadowColor = [[UIColor blackColor] CGColor]; self.myView.layer.shadowOpacity = 1.0; self.myView.layer.shadowRadius = 10.0; self.myView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); self.myView.layer.cornerRadius = 5.0; self.myView.layer.masksToBounds = YES; // <– This is causing the Drop shadow to not be rendered UIBezierPath *path = [UIBezierPath bezierPathWithCurvedShadowForRect:self.myView.bounds]; self.myView.layer.shadowPath = path.CGPath; self.myView.layer.shouldRasterize = YES; 你有什么想法吗?

UICollectionView将图像添加到单元格

我正在使用UICollectionView来显示可能有或没有图像的数据的项目。 我使用的方式是检查图像的URL不是null,然后将一个ImageView添加到单元格。 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { if (question.picture != (id)[NSNull null]) { //add AsyncImageView to cell imageView.contentMode = UIViewContentModeScaleAspectFill; imageView.clipsToBounds = YES; imageView.tag = IMAGE_VIEW_TAG; [cell addSubview:imageView]; [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imageView]; imageView.imageURL = [NSURL URLWithString:question.picture]; } } 对于那些没有图像的单元格,单元格应该如下所示: https : //dl.dropboxusercontent.com/u/5753236/Stackoverflow/good.png 但是,他们中的一些仍然会添加一个带有裁剪图像的ImageView,导致如下所示: https : //dl.dropboxusercontent.com/u/5753236/Stackoverflow/bad.png 我试过使用SDWebImage,但仍然没有解决问题。 另一个问题是,当我向下滚动UICollectionView ,会看到一些图像显示为上面显示的图像,然后在加载完成后切换到正确的图像,我不知道是什么导致了问题。 请帮我解决这两个问题,我真的很感激任何帮助。

iOS:禁用子视图的自动旋转

我有支持方向更改的iPad应用程序的嵌套视图层次结构。 它看起来与以下类似。 UIViewController UIView – UIView – UIImageView (disable rotation) – UIImageView – UIView (disable rotation) – UIView – UIView … 我想locking一些子视图的方向,同时允许其他人自动旋转和resize。 我似乎无法弄清楚如何做到这一点。 一种方法似乎是在willAnimateRotationToInterfaceOrientation:手动旋转子视图。 鉴于SDK正在执行旋转,我只是将其撤销,这并不是特别有吸引力。 有没有办法简单地禁用方向更改子视图或其他方法来重构我的层次结构?