草庐IT

ios - 跨多个 UIView 子类的单个 drawRect 实现

在我的应用程序中,我有几个不同的UIView子类:UIDatePicker、UIPicker、UIButton、UITableView、UITableViewCell、UITextView等等......对于其中的每一个,我想添加一个非常简单的drawRect自定义实现,我工作得很好。有没有一种简单的方法可以让UIView的多个子类都具有相同的drawRect实现,而无需创建子类并在每个UIPicker、UIButton等之间重复相同的代码...?我意识到这个问题的解决方案可能是为UIView的图层属性编写一个委托(delegate)类并在drawLayer中进行自定义绘图,但我想在重

ios - View 对象的属性/状态行为

最近,当我尝试将“主题”类设置为基本上用作我的整个应用程序颜色的主题/样式表的单例时,我遇到了一些与View有关的行为。每个View都分配有颜色,这些颜色是主题对象的属性。所以我会设置一个View的颜色,如:someDetailView.backgroundColor=[ThemeSharedTheme].detailViewsBackgroundColor]并且我所有代码的backgroundColor属性都引用内存中的这个单个对象,然后我可以简单地更改它的属性对象和应用程序的外观将反射(reflect)该更改。但是,更改不会反射(reflect)出来。这个事实可以简化为这段代码:U

ios - 如何在 UIView 中绘制透明度?

我很清楚这个问题已被问过很多次,但显然有些不同。我在UIImageView中的人脸上画矩形,所以我需要矩形是透明的。据我所知,我遵循了在View中绘制透明背景的所有建议(例如,清除当前图形上下文的矩形)。我还将View设置为不透明并将backgroundColor设置为clearColor。是否需要其他步骤?-(instancetype)init{self=[superinit];if(self){self.opaque=NO;self.backgroundColor=[UIColorclearColor];self.clearsContextBeforeDrawing=NO;}ret

ios - 将 UIImageView 添加到 UIView 中,恰好位于 View 的中心

我添加UIView其大小等于屏幕大小,而不是我将UIImageView添加到此View。我想将此UIImageView设置在UIView的正中心。因此,我正在以编程方式执行此操作,无法通过Storyboard设置约束。下面是我的代码:UIView*viewForImage=[[UIViewalloc]initWithFrame:screenRect];CGRectrect=CGRectMake(0,0,100,200);UIImageView*imgcoverView=[[UIImageViewalloc]initWithFrame:rect];imgcoverView.backgro

ios - 为什么用 viewWithTag 转换时没有警告?

例如,UIImageView*iconView=[cell.contentViewviewWithTag:TestTag];我记得如果我不显式转换类型之前会有警告,但现在Xcode没有显示,我的Xcode版本是7.1.1,这是一个新功能还是我修改了一些配置?谁能告诉我为什么? 最佳答案 在Objective-C中有一个新的(Xcode7)关键字,__kindof,可以让您更好地表达方法的返回值。它可以返回__kindofUIView*,而不是viewWithTag:返回UIView*,它会告诉编译器类似以下内容:Acceptanyi

ios - 在 UIScrollView 中绘制图形

我正在探索在可滚动且大于手机屏幕宽度的View上绘制一些自定义图元(使用CGContext)的想法。想法是通过在添加内容时以编程方式ScrollView的内容来使用UIScrollView的“强大功能”,并以这种方式将滚动处理(以及与View的一般UI交互)与内容绘制分离.这在iOS中可行吗? 最佳答案 是的。据我所知,最简单的方法是将UIView添加到UIScrollView上。然后您将在该UIView实例上绘制-在绘制图形/图像的另一部分后,您需要通知包含ScrollView,例如通过委托(delegate),它需要更新其内容大

ios - 如何检测两个 UIView 的边框是否接触?

我有两个UIView对象,我想检查它们框架的任何部分是否相互接触。如下图所示: 最佳答案 您可以使用CGRect过程来完成您想要的。只需检查CGRectIntersectsRect(rect1,rect2),其中rect1是第一个View的框架,rect2是第二个View的框架。祝你好运! 关于ios-如何检测两个UIView的边框是否接触?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

ios - 将 UIView 放置在具有缩放功能的 UIImageView 上

我问了一个类似这个的问题here,并得到了我接受的答案。我的新问题需要将常规UIView放置在ImageView上,从而使其他解决方案无法使用。那么,新问题...UIImageView是否有一种方法可以告诉我其图像在其范围内的位置?假设我有一张汽车图片,如下所示:这张图片是600x243,在应该是后轮的地方,有一个洞是118,144,74,74(x,y,w,h)。我想将汽车图像放在一个UIImageView中,其大小根据布局是任意的,我想以自然的宽高比看到整辆车。所以我将ImageView的内容模式设置为UIViewContentModeScaleAspectFit,效果很好。例如,这

ios - 如何快速以编程方式在 UICollectionView 单元格上添加 UIView

overridefunccollectionView(collectionView:UICollectionView,cellForItemAtIndexPathindexPath:NSIndexPath)->UICollectionViewCell{letcell=collectionView.dequeueReusableCellWithReuseIdentifier("cell",forIndexPath:indexPath)asUICollectionViewCellvartemplate:UIViewtemplate=UIView.init(frame:CGRectMake(

ios - UIView 动画 layoutIfneeded 不工作

我正在使用此消息将客户View动画化到设备屏幕的下边缘。我已连接布局约束并将初始常量设置为-60。当该值设置为0时,我希望View动画到顶部。但不幸的是,预期的功能无法正常工作。即使方法被调用,当界面方向改变时,View也被希望起来。我使用Xcode6.4和iOS8作为基础sdk。任何帮助将不胜感激。if(alertVisible){self.alertViewVerticalConstraint.constant=0;[UIViewanimateWithDuration:0.25animations:^{[self.viewbringSubviewToFront:self.alert