草庐IT

block_occupy

全部标签

swift - 将图片拆分为图 block 并放入数组

我有一个大的Tilesheet(一张图片中有超过1000个图block),如下所示:每个图block都是64x64,我想拆分图片。在这个例子中,我将4个瓷砖放在一个数组中。我怎样才能做到这一点?有不同的尺寸?我需要一些魔法(数学)或更好的想法,我怎样才能在循环中获得正确的裁剪位置。一些快速编码的代码:funccropImage(image:UIImage,tileSize:Int)->[UIImage]?{ifInt(image.size.height)%64!=0&&Int(image.size.width)%64!=0{returnnil}lethCount=Int(image.s

swift - UIView block 动画完成始终为真

我有一个动画,我最近发现它不工作//timeisavariableusedinmycodeUIView.animate(withDuration:time,delay:0,options:[.curveLinear,.allowUserInteraction],animations:{//thisclassisofTypeUIScrollViewself.setContentOffset(CGPoint(x:self.contentSize.width-self.frame.width,y:0),animated:false)//CompletionHandler},completio

swift - 蛇在垂直方 block 中移动

我正在尝试使用SpriteKit制作蛇游戏(就像旧诺基亚手机中的游戏)。问题是,当蛇的方向改变时,蛇在一个静止的垂直block中移动,并没有得到L形(如图所示)。为了进入上下文,我有一个名为SKDSpriteNode的类,它与SKSpriteNode相同,但有一个额外的direction属性;Snake类有direction和length属性。有一个snakeBody属性,类型为[SKDSpriteNode],包含蛇体的节点。蛇的方向在游戏开始时分配给.up,然后由用户的滑动分配。顺便说一句,changeDirection方法在蛇的方向改变时被调用(使用didSet)。这是代码和图片:

ios - 将 CMTimeRange 拆分为多个 CMTimeRange block

假设我有一个从starttime零构造的CMTimeRange,并且持续时间40秒。我想通过X秒分隔符将此CMTimeRange分成多个block。所以block的总持续时间将与原始持续时间相同duration,并且每个startTime将反射(reflect)endTime。最后一个block将是剩余秒数的模数。例如,对于40秒的视频和每个block15秒的分隔符:第一个CMTimeRange-开始时间:0,持续时间:15秒。第二个CMTimeRange-开始时间:15,持续时间:15秒。第三个CMTimeRange-开始时间:30,持续时间:10秒。(剩下的)我尝试过的:我尝试对总

swift - 带有可从 objective-c 使用的完成 block 的方法

我需要从objective-c调用一个swift函数。这需要有一个回调(将从obj-c执行)@objcpublicfuncgetTokens(forAuthentificationCodeauth_code:String,completion:()->()?)我收到“方法无法标记为@objc,因为参数...”如何使用可从objective-c使用的完成block制作函数? 最佳答案 您将completion参数声明为()->()?,它转换为一个没有参数的闭包并返回一个Void?。Objective-C仅支持类参数的可选,因此完成bl

ios - 如何只提供回调函数或 block 而不是创建符合 UIPickerViewDelegate 的对象?

我有两个ViewController,一个用于数据,另一个用于在UIPickerView中选取数据。所以,在根ViewController中,我想获得选择器View的委托(delegate)。我正在尝试这个:RootViewController:letsetReasonVc=self.storyboard?.instantiateViewController(withIdentifier:"setReasonVc")as!SetReasonViewControllersetReasonVc.providesPresentationContextTransitionStyle=trues

swift - DispatchGroup 通知 block 被提前调用

在我的应用程序中早期调用DispatchGroup的通知block时出现问题,并制作了这个playground示例进行实验。根据输出,有时它甚至在第一个.leave()之前被调用。感觉我错过了一些明显的东西,现在我已经看了太久了。lets=DispatchSemaphore(value:1)letdg=DispatchGroup()funcgo()->Void{foriin1...2{doWork(attemptNo:i,who:"Lily",secs:Double.random(in:1.0...5.0))doWork(attemptNo:i,who:"Emmie",secs:Dou

objective-c - 在初始化它的方法的完成 block 中检查 Swift 变量的值

以在Objective-C中创建NSURLSessionDownloadTask为例:NSURLSessionDownloadTask*task=[[NSURLSessionsharedSession]downloadTaskWithURL:[NSURLURLWithString:@"google.com"]completionHandler:^(NSURL*location,NSURLResponse*response,NSError*error){if(task.state==NSURLSessionTaskStateCompleted){//Dothings}}];[taskre

swift - 如何像在 Objective-C 中一样在 Swift 中定义 block ?

在ObjectiveC中,我可以定义将在许多地方使用的blocktypedefvoid(^APISuccessHandler)(RKObjectRequestOperation*operation,RKMappingResult*result);然后在(例如)ViewController属性中使用它@property(nonatomic,copy)APISuccessHandlersuccessHandler;如何在swift中做同样的事情? 最佳答案 使用typealiastypealiasMyType=(str:String,n

ios - 在嵌套 block 中使用常量值时,Swift 1.2 被破坏

我用以下UIView动画block制作了一个弹跳动画(这里有一些智慧来防止闪烁):UIView.animateWithDuration(0.3,delay:0.0,options:.Repeat|.Autoreverse|.CurveEaseInOut,animations:{UIView.setAnimationRepeatCount(1.5)cellToAnimate?.layer.position.y-=25.0}){(finished)inUIView.animateWithDuration(0.3,delay:0.0,options:.CurveEaseInOut,anima