草庐IT

ios - 如何使用UIPageViewController同时显示部分上一个和下一个 View

我使用了这个很棒的教程HowtoUseUIPageViewControllerinSwift了解并在我的应用中实现UIPageViewController。我已经成功完成了集成,但我现在需要稍微修改一下行为。我不想一次只查看一个彩色View,而是想查看前一个View的25%和下一个View的25%。我想我必须使用这个方法传递3个ViewController:funcsetViewControllers(_viewControllers:[UIViewController]?,direction:UIPageViewControllerNavigationDirection,animat

ios - 波形绘制性能优化

我正在构建一个绘制输入音频数据波形的应用程序。这是它的外观的直观表示:它的行为方式类似于Apple的原生VoiceMemos应用程序。但它缺乏性能。Waveform本身是一个UIScrollView子类,我在其中绘制CALayer的实例来表示紫色“条形”并将它们添加为子层。一开始波形是空的,当声音输入开始时,我用这个函数更新波形:classScrollingWaveformPlot:UIScrollView{varoffset:CGFloat=0varnormalColor:UIColor?varwaveforms:[CALayer]=[]varlastBarRect:CGRect?v

swift - 关于 [unowned self] 应该放在哪里的困惑

我有一个保留循环,所以我的viewcontroller的deinit不会被调用,我试图通过添加[unownedself]来解决这个问题,但我不太确定在我的案例中将unowned放在哪里:案例一classYADetailiViewController:UIViewController{varsubscription:Subscription?overridefuncviewDidLoad(){super.viewDidLoad()ifletquery=self.event.subscribeQuery(){self.subscription=Client.shared.subscribe

ios - 在 swift 中处理 UIView 公共(public)初始化

像UIView这样的一些特殊类有不止一个指定的初始化器。在Objective-X中,我们可以将公共(public)初始化分解为一个单独的函数-(id)initWithCoder:(NSCoder*)aDecoder{if(self=[superinitWithCoder:aDecoder]){[selfinitialize];}returnself;}-(id)initWithFrame:(CGRect)frame{if(self=[superinitWithFrame:frame]){[selfinitialize];}returnself;}在Swift中,这不再是可能的,因为以下

Swift Sprite Kit 开启触控功能

我在搞一个xcode项目,我试图让一个红球SKShapeNode在我触摸它时四处移动。我自己在触摸开始类中的源代码没有做到这一点。我的代码有什么缺陷,我需要做什么才能修复它。importSpriteKitclassGameScene:SKScene{//RectangleSkeletionsvarleftWallRect=CGRect(x:0,y:0,width:40,height:1000)varball=SKShapeNode(circleOfRadius:25);overridefuncdidMoveToView(view:SKView){//DeclaretheSpritesi

ios - UICollectionView 自调整大小自定义单元格

我的印象是,UICollectionView中的自动调整单元格大小在iOS8中变得非常简单。所以,我可能在这里遗漏了一些东西。我使用UICollectionViewFlowLayout的子类作为我的布局:classBuildCollectionViewFlowLayout:UICollectionViewFlowLayout{requiredinit(coder:NSCoder){super.init(coder:coder)self.minimumLineSpacing=1self.sectionInset.top=20self.estimatedItemSize=CGSize(wi

ios - 在通用应用程序中纵向使用 UITabBarViewController 但横向使用 UISplitViewController

我想在纵向的iPhone上使用UITabBarViewController,在纵向的iPhone6/6+或横向的iPad上使用UISplitViewController。在iPad或iPhone6/6+横向上时,选项卡栏项目在最顶层的ViewController中显示为UITableViewCells。我真的希望调用对象不必担心设备或方向,而是将ViewController作为输入传递给纵向iPhone上的选项卡栏中以及iPad和iPhone6上的RootViewController中/6+横向。这是我的意思的直观表示:我认为也可以使用标签栏图像属性将图像放置在表格View单元格中。我

ios - 在 UITabBarController 中使用 UINavigationController 时,UISearchBar 被截断

我正在尝试在我的UITabBarController中的一个选项卡中实现一个搜索栏,该选项卡是UINavigationController中的一个UITableViewController...我正在关注Apple教程-我尝试了很多不同的选项,包括此处提到的答案SearchbargetscutoffwhenusingUISearchControllerwithaUITabBarControllerinsideaUINavigationController我尝试使用以下属性设置self.definesPresentationContext=true或self.tabBarControll

ios - (如何)从输入到前置摄像头获取人脸作为 UIImage

我正在解决扫描前置摄像头输入的面部任务,检测它们并将它们作为UIImage对象获取。我正在使用AVFoundation扫描和检测人脸。像这样:letinput=tryAVCaptureDeviceInput(device:captureDevice)captureSession=AVCaptureSession()captureSession!.addInput(input)output=AVCaptureMetadataOutput()captureSession?.addOutput(output)output.setMetadataObjectsDelegate(self,que

ios - 使用惰性变量时的编译错误

我想了解lazy在swift中是如何工作的。下面的代码编译没有任何错误。importUIKitclassTest:UIViewController{leti=1lazyvarj:Int=self.i}而如果我删除j的类型并像下面的代码那样推断它,importUIKitclassTest:UIViewController{leti=1lazyvarj=self.i}我收到编译错误“'NSObject->()->Test'类型的值没有成员'i'”谁能解释一下编译器是怎么回事。谢谢 最佳答案 你需要在这里考虑3个方面。惰性存储属性的初始值