草庐IT

swift - 如何在 UIScrollView 移动时正确转换 UIView 的比例

为了获得与Snapchat的HUD移动类似的效果,我创建了一个基于UIScollView的contentOffset的HUD元素的移动。编辑:LinktotheGithubproject.funcscrollViewDidScroll(_scrollView:UIScrollView){self.view.layoutIfNeeded()letfactor=scrollView.contentOffset.y/self.view.frame.heightself.transformElements(self.playButton,0.45+0.55*factor,//0.45=desi

ios - UITableView 的 header 无法与 UIViewAnimationOptions.Repeat 一起使用

我想让表格View的标题闪烁,但它不起作用。functableView(tableView:UITableView,viewForHeaderInSectionsection:Int)->UIView?{letheaderView=UIView()headerView.backgroundColor=UIColor.redColor()UIView.animateWithDuration(0.3,delay:0,options:UIViewAnimationOptions.Repeat,animations:{headerView.alpha=0},completion:nil)ret

ios - 从 Nib 加载时 UIView 的帧大小?

我正在从这样的.xib文件加载UIView:staticfuncloadFromNib()->CardView{letnib=UINib(nibName:"CardView",bundle:nil)returnnib.instantiate(withOwner:self,options:nil).firstas!CardView}加载时,View具有在InterfaceBuilder的大小检查器的“框架矩形”中设置的确切框架大小。这是有保证的吗?我需要这个大小是准确的,因为subview约束是特定的,如果View大小错误[*]将不适合,但我在Apple的文档中没有找到任何提及。[*]=

ios - 如何以针对不同尺寸显示器的模式排列多个 UIView

目标:针对不同尺寸的iPhone和iPad显示器,我想以一种模式排列许多小方形UIView。布置到位后,我希望能够控制每个UIView,以便我可以操作每个,例如,单独移动和缩放每个。一种方法是在Storyboard上手动放置许多小的UIView(图1),确保有足够小的UIView以一种模式排列在最大的Storyboard上iPad屏幕,然后用代码将它们全部连接起来。例如@IBOutletweakvarmyView001:UIView!@IBOutletweakvarmyView002:UIView!......@IBOutletweakvarmyView144:UIView!但是,上面

ios - 用圆角翻转 UIView

我尝试翻转具有圆角(边框)的View。View的圆角是通过以下方式实现的:privateextensionUIView{funcround(corners:UIRectCorner,radius:CGFloat,borderColor:UIColor,borderWidth:CGFloat){letmask=_round(corners:corners,radius:radius)addBorder(mask:mask,borderColor:borderColor,borderWidth:borderWidth)}@discardableResultfunc_round(corner

ios - 平滑地加速正在运行的旋转动画

我使用这段代码来旋转任何View:funcrotateAnimation(theView:UIView,duration:CFTimeInterval=20.0,repeatCount:Float=200,toValue:CGFloat=CGFloat(.pi*2.0)){letrotateAnimation=CABasicAnimation(keyPath:"transform.rotation")rotateAnimation.fromValue=0.0rotateAnimation.toValue=toValuerotateAnimation.duration=durationr

ios - 完成 block 中的 UIView 动画以位移开始

我使用UIView.animate编写了一个包含两个动画的简单动画链,但是完成block中的第二个动画并不完全从第一个动画开始的位置开始,所以我在右边有奇怪的位移。有人可以帮忙吗?也许我没有完全理解tranfrom属性。UIView.animate(withDuration:3,animations:{self.redView.transform=self.redView.transform.translatedBy(x:100,y:0)}){(_)inUIView.animate(withDuration:2,animations:{self.redView.transform=se

ios - 在 Swift 中,自定义 View 的 drawRect 未正确更新

下面是我的一个简单自定义View的drawRect函数。当我使用varh:CGFloat=200View本身正确显示:矩形的一部分是黑色的,一部分是红色的。但是当我使用varh:CGFloat=fractionalHeight*parentViewHeight我得到的只是一个黑色矩形。如果fractionalHeight(View的属性)是0.5,矩形的一半应该是红色的。打印语句证实了这个事实h是我认为应该的。嗯嗯?怎么回事?overridefuncdrawRect(rect:CGRect){varctx=UIGraphicsGetCurrentContext()CGContextCl

ios - 使用 setTranslatesAutoresizingMaskIntoConstraints(false) 在 UIView 中添加为 subview 时,不会调用 UIButton 操作

我有一个以编程方式创建的UIButton,为事件“UIControlEvents.TouchUpInside”添加了“按下”功能。但是当添加为UIView的subview时,不会调用“按下”方法。下面提供代码供您引用。但是,当我删除setTranslatesAutoresizingMaskIntoConstraints(false)时它会起作用。我需要使用此方法来自动调整布局大小。varmyView=UIView()letorderBook=UIButton()overridefuncviewDidLoad(){super.viewDidLoad()myView.backgroundC

swift - 在发送者操作方法中检测 UIButton 中点击/按下的位置是什么

我有一个UIButton拉伸(stretch)到View的大小(覆盖View/屏幕)。我已经设置了一个TouchdownAction,我需要在这个Action中找出点击/按下按钮的位置(获取x和y坐标)。这可能吗? 最佳答案 使用sender和event参数创建Action函数。然后就可以得到按钮上的触摸位置。@IBActionfuncbuttonAction(sender:AnyObject,event:UIEvent){//downcastsenderasaUIViewletbuttonView=senderasUIView;/