草庐IT

iOS如何让uiview知道出现和消失?

在viewcontroller上的View中,我可以知道何时通过viewDidAppear在屏幕上查看。但在UIView的子类View中无法知道。在android中,每个View都有方法didAttachToWindow和didDeattachFromWindow所以我可以知道View何时从屏幕上出现和消失。iOS中是否存在类似的东西? 最佳答案 您可以在您的View中覆盖以下函数以了解您的View发生了什么:removeFromSuperview删除时,如前所述willMoveToSuperview:/didMoveToSuper

design-patterns - UIVIew 或 UIViewController 中的复杂 View 设置? (设计决策)

目前,我以编程方式设置了大部分UI。有两种方法可以安排属于屏幕的View(除了使用nib之外):在ViewController中,管理所有View(它是一个ViewController!)创建一个自定义的UIView子类,然后将其连接到Controller中我知道两者都可以,但在哪些情况下您会选择哪种解决方案?此外,对于第一个变体,可以选择在viewDidLoad中进行设置并将View添加到self.view,或者构建容器View并在loadView中添加所有View。此处的任何好的建议也将不胜感激。当您将完整View设置为Controller的View时,第二个变体接近于使用Nib。

ios - 随着 UILabel 内部的增长扩展 UIView

我有一个UIView,它是UIImageView和UILabel的父View。UILabel可以具有不同的大小,具体取决于其中的文本量。因此,我需要UIView与UILabel一起增长和收缩,但无法使其正常工作。它的外观截图如下:如您所见,标签上方和下方的间距太大。在.xib中,我将UILabel的顶部和底部约束设置为10但显然这些约束在某种程度上被违反了。UIView对上面的框架有顶部约束,图像为>=10,因此它可以从10增长。可以看到下面的.xib:我试图增加UIView的ContentHuggingPriority,但没有帮助。UILabel只有4个约束:相对于其父ViewUIV

ios - UITableViewCell 中的 UIButton(在 UIView 内)单击事件不起作用

上图是UITableViewCell设计器预览图。Button(Refer1)touchupinside事件工作正常。但是,Button(Refer2)touchupinside事件没有触发。它在一个View中。我禁用了Button(引用2)View的UserInteractionEnabled属性。但是,运气不好。不工作。 最佳答案 您的View高度为0,这就是您无法点击它的原因为了测试它,将clips的绑定(bind)值设置为yes你还需要为你的View设置高度来解决这个问题 关于i

iphone - hitTest 返回错误的 UIView

我有一个View层次结构,其中包含ScrollView上的较小View。每个View都可以包含subview,例如按钮等。由于某种原因,View上的按钮没有被点击;进一步探索表明,当ScrollView接收到touchBegan事件时,按钮却没有。调用hitTest:event:消息显示按钮未返回,即使它在限制内。我已经包含了一个日志输出,描述了触摸在ScrollView上的位置、从hitTest返回的项目、触摸的位置(如果我调用locationInView:使用预期的项目)以及预期项目的层次结构(打印框架).从这个输出中我可以推断出按钮应该被调用...谁能解释一下?我错过了什么吗?t

ios - 屏蔽 UIView

我一直在我的ViewController中使用以下代码:UIView*view=[[CustomViewalloc]init];UIView*mask=[[CustomMaskalloc]init];[viewlayer].mask=[masklayer];它会根据需要屏蔽View。但是,当它不在ViewController中时,我得到错误:'请求成员'掩码'不是结构或联合'例如我想在CustomView类本身中应用掩码。所以我会:UIView*mask=[[CustomMaskalloc]init];[selflayer].mask=[masklayer];这会产生错误。如果我在我的

ios - UIView 在 View 框架之外绘制阴影

我有一个要求,我必须在View的框架之外绘制View的阴影。我们已经有了复杂的View层次结构/分层,现在不可能更改View的框架和布局以适应viewControllerView边界内的阴影。1.我在这里有点担心我是否可以按照这种方法在View外绘制阴影:“您还可以创建一个基于View中绘制的任何内容的alpha分量的投影。通常这会导致View边缘周围出现阴影。UILabel上的示例代码:label.layer.shadowColor=[UIColorblackColor].CGColor;label.layer.shadowOpacity=1.0;label.layer.shadow

objective-c - 滑动 UIView 以部分覆盖另一个 UIView

自从我一直在搜索如何制作上述动画以来,已经有几个小时了。到目前为止,我已经找到了这个foldingnavigation由honcheng设计,非常酷。但是,我想要的比这简单一点。谷歌地图从右侧带出的方式,这就是我希望减去翻页效果的方式。有点喜欢这种方式PulseiPad的新闻也很棒。是的,如果有人这样做过,您能否就我如何学习这一点提出一些想法。或者也许是我可以查看并进行逆向工程的开源。 最佳答案 这应该对您有所帮助,但请记住,我对Pulse中使用的动画不是很熟悉。.h声明一个名为secondView的UIView。-(void)vi

ios - 使用缓存的 UIView 设置 tableView 中的单元格背景 View :willDisplayCell:forRowAtIndexPath:

这是我设置自定义分组表格View单元格背景的解决方案:-(UIView*)top{if(_top){return_top;}_top=[[UIViewalloc]init];[_topsetBackgroundColor:[UIColorblueColor]];return_top;}//dotdotdot-(void)tableView:(UITableView*)tableViewwillDisplayCell:(UITableViewCell*)cellforRowAtIndexPath:(NSIndexPath*)indexPath{NSIntegersection=[inde

ios - UIView 表面自定义转换/动画(如 'a water drop effect' )

在viewsurface上实现自定义转换(+动画)的方法是什么(类似于附上的图片)(不是只是View边界)。问题主要在于一般的方法是什么(不完全是“水滴效应”,但肯定会感谢任何示例)。我想,这是层布局“网格”的某种“算法”转换,但不确定以何种方式“挖掘”它。(另一种想法是使用一些框架可能会实现,但是我仍然需要了解核心逻辑)。更新:最近从其中一个答案中找到了动画爱好者的不错资源:iPhoneDevelopmentWiki. 最佳答案 阅读BartoszCiechanowski的这篇优秀博客文章:http://ciechanowski.