草庐IT

material-swift

全部标签

swift - 开始编辑时按钮大小为 "clear' 的 UITextField

我有一个带有清除按钮的UITextField,我将它放在一个垂直的StackView中,并带有前导对齐。当编辑开始时,该字段的大小不考虑清除按钮,因此文本向左滚动。一旦添加了任何字符,该字段就会更正其大小。我不想固定字段宽度,因为我喜欢这种行为—当文本末尾总是有清除按钮时。下面的函数修正了大小,但是清除按钮只有在文本字段改变后才会出现:functextFieldDidBeginEditing(_textField:UITextField){UIView.animate(withDuration:0.4){textField.sizeToFit()}}知道如何纠正这个问题吗?提前谢谢你。

swift - iochanging 滑入和滑出动画以在 SWRevealViewController 中淡入和淡出

我正在为左侧菜单使用SWRevealViewController,我想更改默认动画并制作淡出动画。我尝试了他们的委托(delegate),如下所示,但没有成功。funcrevealController(_revealController:SWRevealViewController!,animateToposition:FrontViewPosition){ifposition==.left{view.alpha=0.15}elseifposition==.right{view.alpha=1}} 最佳答案 importFounda

swift - Xcode 数组到 NSTableView

我做了一些搜索,一些编码,一些搜索,然后一些编码。我只是还不能让它自己工作。我想从我定义的数组中获取数据:varallPublishers=[[String:String]]()我将通过外部API调用分块填充数组。我可以每100个block调用一次刷新。这是人口:foriin0..例如,在第一个100之后我调用这个函数:self.showPublishers()为了这些目的,现在只显示类型:funcshowPublishers(){DispatchQueue.main.async{self.tableView.reloadData()}}类型是:Array>部分填充block的示例是:

ios - 符合自定义协议(protocol)的通用函数 - Swift

我想创建一个函数,它接受所需的返回类型作为参数并且应该符合我的自定义协议(protocol)。下面是我在Playground上的代码。protocolInitFunctionsAvailable{funccustom(with:Array)}classmodel1:InitFunctionsAvailable{vararray:Array!funccustom(with:Array){array=with}}funccall(someObject:T)->T{returnsomeObject.custom(with:[])as!T}letmodel=call(someObject:mo

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

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

swift - 在 Data 实例上使用 [] 运算符时出现异常

这个Swift小片段在最后一个任务中使Xcode9.2playground崩溃,尽管缓冲区仍保留23个字节。知道为什么会这样吗?importCocoavarstr="01234567890123456789012345678901234567"varbuffer=Data()ifletdata=str.data(using:.utf8){buffer.append(data)buffer=buffer[15.. 最佳答案 看起来这是由SDK错误或编译器优化引起的,两者都试图避免不必要的数据复制(也称为写时复制)。在有问题的行上设置断

swift - 在不锁定 UI 线程的情况下将图像转换为 iOS 中的视频 (Swift)

我正在尝试将图像快照转换为视频,但我遇到了UI线程问题:我的ViewController已锁定。我想知道如何处理这个问题,因为我做了很多研究并试图将流程分离到不同的DispatchQueues中,但没有一个有效。所以,它解释了为什么我没有在下面的代码中使用任何队列:classScreenRecorder{funcrenderPhotosAsVideo(callback:@escaping(_success:Bool,_url:URL)->()){varframes=[UIImage]()for_in0..UIImage{letrenderer=UIGraphicsImageRender

swift - 将自身分配给 TableView 数据源时出错

这是Xcode输出的错误在展开可选值时意外发现nil我有一个viewcontroller,它有一个tableview和一些按钮;这些按钮允许我插入或删除数据。似乎当我单击“添加”(通过segue作为工作表调出一个新的ViewController)时,应用程序因上述错误而崩溃。单击删除不会产生这种影响。所以它与一些关于新ViewController的猜测有关。除了打印出(lldb)之外,控制台不会进一步处理错误这是我的代码overridefuncviewDidLoad(){super.viewDidLoad()alarmTableView.dataSource=self//erroroc

ios - 单击按钮的 Swift 重新加载 Collection View 不起作用

我是swift的新手。我用了LTBAcomponents构建快速应用程序。我按照一些教程来开发像推特这样的社交应用程序。我开始实现跟随按钮功能。它调用另一个API调用,但相同的响应带有较小的修改(例如-追随者属性的数量增加一个)。通话也能正常工作。但CollectionView没有重新加载。我的代码是。ViewControllerimportLBTAComponentsimportTRONimportSwiftyJSONclassHomeDatasourceController:DatasourceController{leterrorMessageLabel:UILabel={let

swift - 无法更改 SKSpriteNode 的纹理

在我的游戏中,我正在创建一个具有特定纹理的Circle对象,但是例如,如果Circle撞到某堵墙,我希望它的纹理发生变化。不幸的是,由于某种原因这不起作用,我不知道为什么。这是我的Circle类代码:classCircle:SKNode,GKAgentDelegate{lettxtName="farblos"varnode:SKSpriteNode{letnode=SKSpriteNode(imageNamed:txtName)node.size=CGSize(width:30,height:30)node.name="circle"returnnode}letagent:GKAgen