Tag: uiview

在这种情况下,XIB中的文件所有者是什么?

我search了相当一段时间的类似问题,其中大部分提到UIViewController的xib的东西。 我试图为我的自定义viewController模型添加一个xib文件,并发现它的Xib文件的所有者应该是我自定义viewController模型的类 – 这是合理的。 但为什么情况不同,当我为我的UIView模型创build一个xib – 一个例子如下: 我创build了我的名为“KWView”(KWView.h和KWView.m)的UIView模型,然后我为这个模型创buildxib,初始化它 KWView *oneView = [[[NSBundle mainBundle] loadNibNamed:@"KWView" owner:nil options:nil ]lastObject]; 这Xib的文件的所有者名称是“NSObject” (然后我尝试任何其他更多,无论我select,它运行顺利) ,在那里,我select视图的自定义类为“KWView”[这个xib名为“KWView.xib”] 问题是: 1.无论我更改自定义视图的Xib文件的所有者名称,它的工作原理。 如果是这样,这个文件的所有者在这里做什么工作,或者说,为什么会发生这种情况? 2.一般情况下,我应该将自定义视图的Xib的文件所有者设置为我的自定义视图的类或viewController的类,这个视图将被添加到? 或者只是设置“NSObject”?

为具有圆angular的UIImageView创build阴影?

我正在尝试创build一个具有圆angular和阴影的ImageView ,以提供一些深度。 我能够为UIImageView创build一个阴影,但每当我添加代码也使其具有圆angular时,它只有圆angular而没有阴影。 我有一个名为myImage的IBOutlet ,它位于viewDidLoad函数内部。 有没有人有任何想法如何使其工作? 我究竟做错了什么? override func viewDidLoad() { super.ViewDidLoad() myImage.layer.shadowColor = UIColor.black.cgColor myImage.layer.shadowOpacity = 1 myImage.layer.shadowOffset = CGSize.zero myImage.layer.shadowRadius = 10 myImage.layer.shadowPath = UIBezierPath(rect: myImage.bounds).cgPath myImage.layer.shouldRasterize = false myImage.layer.cornerRadius = 10 myImage.clipsToBounds = true }

在不使用renderInContext的情况下捕获UIView:

我想从屏幕上创buildvideo,为了捕获视图,我不想使用renderInContext:由于某种原因。 我现在使用drawViewHierarchyInRect:但这仅限于iOS 7,我的应用程序也支持早期的iOS版本。 我将被罚款使用drawViewHierarchyInRect: 这是我的代码 UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0); [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

iOS 10 UILabels – > 1 UIView – >通过animation循环

我有10个UILabels ,也许一些UIImageViews 。 我想要在1个UIView中顺利地进行FadeOut&FadeIn转换,一个接一个地显示所有这些。 我知道把UIViewanimation放在for循环中将不起作用,因为animation是asynchronous完成的,不会产生适当的效果。 所以通常我会这样做的方式是将UIViewanimation链接在一起。 即一个元素animation完成后开始下一个。 对于3-4个元素,代码看起来不错。 像这样 – [UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{ //do something with alpha here – first element } completion:^(BOOL finished){ [UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{ //do something with alpha here – 2nd element} completion:^(BOOL finished){ … } } 但是对于十多个元素,它变得非常混乱。 怎么会这样做? 基本上我正在创build一个循环内容的UIView ,就像一个小部件。

自定义类的对象和文件的所有者和步骤通过IB混淆区别

这是另一个“我很困惑的问题”。 所以我正在将自定义视图引入视图控制器。 我只是概述错误的确切步骤。 创build单个视图应用程序项目 通过File – > New – > User Interface – > View创build一个Nib文件。 称它为NIB.xib。 添加一个简单的标签,以确保加载。 添加以下代码: UIView *view = [[[NSBundle mainBundle] loadNibNamed:@"theNIB" owner:self options:nil] objectAtIndex:0]; view.frame=CGRectMake(10.0f,10.0f,100.0f,100.0f); view.backgroundColor=[UIColor orangeColor]; [self.view addSubview:view]; 这工作。 现在我想要做的就是用UICustomView连接这个笔尖,所以我通过File – > New – > UIView创buildArcView。 “4。 在IB中,我需要将NIB连接到ArcView,以便在占位符中突出显示文件所有者,并在自定义类中selectAcrView。 '5.' 然后,我select主视图并将其设置为自定义类中的ArcView。 我对下一步是否感到不知所措,或者4或5是否是必要的(两者兼而有之)? 我是否试图在ArcView中创build一个sockets引用来查看Interface Builder中的主视图? 我应该能够从视图拖到助理编辑器(我目前不能)的头文件? thx提前 **编辑1 ** 以下是设置了arcView的文件所有者: 未设置arcView视图对象:

EXC_BAD_ACCES绘制阴影

我想添加一个阴影到我的UIView,但在我的drawRect方法,我得到一个EXC_BAD_ACCESS。 (我正在使用ARC) -(void) drawRect:(CGRect)rect { CGColorRef lightColor = [UIColor colorWithRed:105.0f/255.0f green:179.0f/255.0f blue:216.0f/255.0f alpha:0.8].CGColor; CGColorRef shadowColor = [UIColor colorWithRed:0.2 green:0.2 blue:0.2 alpha:0.4].CGColor; CGContextRef context = UIGraphicsGetCurrentContext(); // Draw shadow CGContextSaveGState(context); CGContextSetShadowWithColor(context, CGSizeMake(-5, 0), 10, shadowColor); CGContextSetFillColorWithColor(context, lightColor); CGContextFillRect(context, _coloredBoxRect); CGContextRestoreGState(context); } 错误信息:线程1:编程接收到的信号:“EXC_BAD_ACCESS”。 行: CGContextSetFillColorWithColor(context, lightColor); 当我将这一行更改为: [[UIColor colorWithRed:105.0f/255.0f green:179.0f/255.0f blue:216.0f/255.0f alpha:0.8] setFill]; 我得到同样的错误,但在这一行: CGContextSetShadowWithColor(context, CGSizeMake(-5, 0), […]

animationUIView的CoreGraphics / drawRect内容

是否有可能animationUIView的CoreGraphics内容? 说我有一个名为MyView的UIView子类,实现了像这样的drawRect:方法: – (void) drawRect: (CGRect) rect { CGContextRef c = UIGraphicsGetCurrentContext(); CGContextSetStrokeColorWithColor(c, someColor); CGContextSetLineWidth(c, someWidth); CGContextMoveToPoint(c, leftOfMyUIView, topOfMyUIView); CGContextAddLineToPoint(c, leftOfMyUIView, bottomOfMyUIView); CGContextStrokePath(c); } 换句话说,它在UIView的子类的左边画一条垂直线。 现在有一个简单的方法来animation这个UIView,使行从视图的左侧移动到右侧? 我希望它从左到右“漂移”。 要清楚 – 由于我不会去的原因,我不能移动/animationMyView的实例。 我能想到的最好的解决scheme是添加一个新的UIView子类。 像LineView extends UIView东西LineView extends UIView ,然后使LineView我要绘制的行的确切尺寸,使用自己的drawRect方法填充它,然后将LineView的实例添加到MyView作为子视图。 这将允许我使用animation块对LineView对象的位置进行animation处理,但是实现如此简单的操作看起来过于复杂。

参考计数块中的自我

我试图让我的脑海如何对象生命周期和引用计数与代码块交互。 在下面的代码中,我只是做一个简单的animation,当UINavigationController的堆栈上的顶视图交换时闪烁。 棘手的部分是popup的视图控制器是定义这个代码的地方 。 [UIView animateWithDuration:0.2 animations:^{self.navigationController.view.alpha = 0.0;} completion:^(BOOL finished){ UINavigationController *navController = self.navigationController; [self.navigationController popViewControllerAnimated:NO]; [navController pushViewController:nextView animated:NO]; [nextView release]; [UIView animateWithDuration:0.2 animations:^{navController.view.alpha = 1.0;}]; }]; 我的问题是(忽略什么animation看起来像),这是从内存pipe理的angular度来做这件事的正确方法。 尤其是: (1)在pop + push循环中使用这种方法时,正确的是不再需要保留自己,就像其他类似的不使用块的例子一样? (2)是否调用animateWithDuration:…这些块保留定义视图控制器(自我),直到块执行?

使视图变暗,如同禁用

如何将视图变暗为禁用/突出显示,最好是不使用任何其他视图? 我认为我的意思是一个UIView和所有的孩子。 我想实现一个禁用/突出显示的UIButton相同的效果。 不要以为视图完全不透明。

在Swift中使用segue之后从堆栈中删除(删除)view / viewController的正确方法

我在这里遇到了一个问题。 我正在用performSegueWithIdentifierexpression观点。 一切顺利。 问题是,作为一个testing,我只有2个viewControllers与他们的一些数据,我有两个button,调用一个segue回到另一个VC。 如果我继续执行Segue,可以清楚地看到内存使用量每两个节点上升约0.4Mb。 这告诉我视图不被删除/从视图堆栈中删除,只是使用内存。 我想知道通过使用performSegueWithIdentifier摆脱呈现其他视图的视图的正确方法(当然,在它完成呈现视图之后,否则它将不起作用)。 你能把我指向正确的方向吗? 我发现一些Objective-C代码试图做到这一点,但它是非常广泛的,我不太了解Objective-C,所以对我来说有点难以理解。 预先感谢您的帮助! 干杯! 编辑: 我正在做一个“手动延续”。 我的意思是我有两个视图控制器站在自己的angular度。 他们没有embedded任何导航VCs或类似的东西。 我正在使用“Show”types的“Adaptive Segue”。