Tag: uiview

如何实现执行contentStretch逆的UIView?

UIView contentStretch属性定义了内容被拉伸以填充视图的区域。 这是伟大的,但我发现自己需要的是完全相反的:我想要一个视图,我可以定义一个矩形不伸展,但有外边缘伸展,直到他们填充视图。 +——————————————-+ | | | +———-+ | | | | | | | | | | | Content | Stretch to fill | | | | | | | | | | +———-+ | | | +——————————————-+ 所以在上面的观点中,外观是我提出的观点。 内部矩形是不可拉伸的内容。 理想情况下,我希望能够将不可拉伸的内容的中心点定位在外部矩形内的任何位置,并仍然将外部位填充到边缘。 示例使用场景:带有透明中心“洞”的黑色覆盖层,跟随鼠标/触摸用于使用手电筒探索场景等。 我想这样做的一个方法是绘制内容UIView,然后绘制其他四个视图,适当的大小,以覆盖外部区域,但我希望为一个单一的解决scheme更stream畅的animation。 我猜我需要有一个单一的UIView,并使用核心animation下来,混乱它的图层?

UILable numberoflines和字体大小在放大时间自动设置

我的要求如下。 我有一个添加UILable里面UIView width & height is 30 。 我已经将UIPinchGestureRecognizer设置UIPinchGestureRecognizer UIView 。 捏合function与UIView工作正常。 但我希望当我放大UILable字体大小和numberOfLine自动设置在UIView 。 所以最初的UILable在View中不可见。 当我放大那个时候UILable得到的是要显示的text比UILable将可见(例如这次在3行)。 如果我增加缩放级别比文字将显示在一行。 如何归档这个function? 看下面的截图我想要做什么 ********图片1 ***************** ********图片2 ***************** ********图片3 ***************** 提前致谢 ..

iOS:如何将UIView的自绘内容转换为图像(广泛的一般解决scheme返回空白图像)?

我的商业应用程序需要一个function,让用户用手指在UIView上绘制签名并保存(通过工具栏上的button单击),以便将其附加到单元上。 一旦工作完成,这些单元将被上传到服务器,并且已经支持通过Base64上传的相机图片附件,所以我只是想将采取的签名转换成UIImage 。 首先,我需要一个解决scheme来绘制签名,我很快find了一些来自苹果的示例代码,似乎符合我的要求: GLPaint 我将这个示例代码整合到了我的项目中,因为我使用ARC和Storyboards,并且不需要声音效果和调色板等,但是绘制代码是直接的副本。 整合似乎是成功的,因为我能够在视图上绘制签名。 所以,下一步是为绘制的签名添加保存/图像转换function。 我已经做了无数的search,并推出了几十个类似问题的线程,大多数人指出了完全相同的解决scheme: (假设) drawingView :subclassed UIView在哪里完成绘图。) <QuartzCore/QuartzCore.h>和QuartzCore.framework 包括CoreGraphics.framework 包括OpenGLES.framework – (void) saveAsImage:(UIView*) drawingView { UIGraphicsBeginImageContext(drawingView.bounds.size); [drawingView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentContext(); UIGraphicsEndImageContext(); } 最后我的问题:这段代码不适合我,因为它总是返回一个空白图像 。 由于我已经整合了对使用iPhone相机拍摄的图片附件的支持,因此我最初假定image processing代码也应该在签名图像上工作。 但是,经过一些没有结果的search之后,我放弃了这个假设,拿了原来的GLPaint项目,只是添加了上面的几行代码,只是显示图像,它也完全是空白的。 所以,这是不是在UIView上的自绘内容或任何我失踪的代码的问题。 我对这个问题基本没有想法,希望有人能帮助我。 最好的问候Felix

如何设置UIView大小以编程方式无约束地匹配parrent

这个问题听起来很简单,但却让我发疯。 我已经在IB中创build了一个叫做iBag的白色视图,而且它的大小取决于屏幕大小。 现在,我想以编程方式创build一个新的UIView,并通过此代码将相同大小和位置的子视图添加到iBag let newView = UIView() newView.frame = (frame: CGRect(x: 0, y: 0, width: iBag.frame.width, height: iBag.frame.height)) newView.backgroundColor = UIColor.redColor() iBag.addSubview(newView) 我也试过了,但是没有帮助。 我可以使用约束来解决这个问题,但我想了解什么是错的。

iOS:推送相同的视图控制器

如果我有一个button,我想要使用相同的控制器animation默认的“UI页面幻灯片”,当点击“下一个button”时会怎么做呢? 我认为这会工作,但事实并非如此。 – (IBAction)NextButton:(id)sender { [self.navigationController pushViewController:self animated:YES]; NSInteger CurrentQuestionNumber = [QuestionNumber intValue]; NSInteger NewQuestionNumber = CurrentQuestionNumber + 1; QuestionNumber = [NSString stringWithFormat:@"%d", NewQuestionNumber]; QuestionNumberLabel.text = QuestionNumber; QuestionLabel.text = [QuestionsList objectForKey:QuestionNumber]; }

当我添加一个视图到另一个视图(这两个视图是由视图控制器控制),我真的应该使用addChildViewController吗?

我正在用XIB构build一个UIViewController 。 在这个XIB中,我有其他视图控制器中的其他视图的占位符( UIView中的UIView对象)。 (顺便说一下,我也可以直接添加这些视图,没有占位符) 我不是build立一个容器视图控制器:我的意思是它不是一个UINavigationController 。 这只是一个“通常”的视图控制器。 想象一下,例如,我在我的视图中有一个小的子视图,用于“Facebook”徽标和计数器。 这个“Facebook视图”被附加到当“Facebook视图”被触摸时调用的另一个视图控制器。 所以,“Facebook控制器”肯定需要是我的“主”视图控制器@property 。 在这种情况下,我应该真的使用addChildViewController:和所有的机制? 或没有? 谢谢!

UIView总是顶级子视图

嗨,我有一个游戏,我创build一个处理触摸事件的子视图。 但是当我稍后在代码中添加其他对象时,它们会出现在该视图的前面。 所以如果用户点击这些对象之一的屏幕,触摸将不会被注册。 那么有没有办法让UIView总是出现在顶端? 我已经试过,但它不工作: view.layer.zPosition = MAXFLOAT; 有任何想法吗? 谢谢

我的自定义UIView dos不接收触摸

使用IB,我创build了一个包含几个button的小型子视图。 我的控制器从xib文件读取小视图,并将其作为子视图添加到主视图。 它加载好,我可以看到子视图和所有的button。 据我所知,它也连接到控制器中的IBOutlets和IBActions。 但是,当我按下button什么都没有发生! 事实上,当我按下button超级视图的touchesBegan被调用! 超级视图也包含一个“普通button”(即我的子视图的兄弟),该button工作正常! 问题:为什么我的子视图上的button不起作用? -(void) loadMultibutt{ self.buttErase = nil; // test if the outlet connects NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"multibutt_ipad" owner:self options:nil]; UIView *viewButts = [arr objectAtIndex:0]; ViewWorkbench* vw = (ViewWorkbench*) self.view; [vw addMultibuttView:viewButts]; // now, buttErase != nil. NSSet *setTest = [self.buttErase allTargets]; NSLog(@"setTest = %@", setTest); // This […]

iOS – 更改子类UIView子视图的框架(使用启用了自动布局的故事板)

我正在构build一个自定义的进度条(UIView的子类)。 我将UIImageView添加到使用重复图像显示进度的UIView。 该视图被添加到故事板,我可以得到它显示得很好,但是,如果我试图改变框架,那么它只显示任何故事板文件中显示(即如果故事板视图有一个黄色的背景,但代码的uiview子类将其更改为绿色,如果我尝试更改代码中的UIImageView的框架以反映当前进度,则默认返回到黄色背景) 我试图用这些没有运气: [self updateConstraints]; [self layoutSubviews]; UPDATE 我知道我需要设置一个约束用于自动布局。 但是,它需要以编程方式完成,因为我以这种方式创build了子类UIView。 这里是我正在尝试的代码,我知道我很接近,但不能完全得到它的工作: [self addConstraint: [NSLayoutConstraint constraintWithItem:self.progressView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil attribute:NSLayoutAttributeWidth multiplier:1 constant:progressWidth]]; [UIView animateWithDuration:3 animations:^{ [self.progressView layoutIfNeeded]; }];

如何摆脱iOS 7.1.1中的layer.cornerRadius四舍五入的UIView中的薄边框?

我有一个自定义的UIView通过使用layer.cornerRadius像这样四舍五入: – (void)layoutSubviews { [super layoutSubviews]; self.layer.cornerRadius = self.frame.size.width / 2.0; self.layer.borderColor = [UIColor whiteColor].CGColor; self.layer.borderWidth = 2.0; self.layer.masksToBounds = YES; self.backgroundColor = [UIColor redColor]; } 我怎样才能摆脱非常薄的外部红色圆圈?