草庐IT

ios - 如何在 Swift 中以编程方式从另一个图像中剪切 Logo (png 图像)的形状?

这是背景图这是标志我们如何在Swift中制作这样的图像?更新现在我设法将Logo用作mask并得到类似这样的东西,有什么办法可以把mask反转过来吗?这是我的代码letlogo=UIImage(named:"logo")!letmask=CALayer()mask.contents=logo.CGImagemask.frame=mImageView.layer.boundsmImageView.layer.mask=mask 最佳答案 您可以使用UIBezierPath以编程方式完成此操作://letscreateaviewanda

swift - 是否可以在 swift 中以编程方式添加函数定义

我正在创建一个包含3个浮点值的结构,structCol{varr:Floatvarg:Floatvarb:Float}我想添加一堆函数定义,它们等同于内置的数学函数,但它们对我的结构成员进行分段操作我可以手工完成,例如funcpow(a:Col,b:Col)->Col{returnCol(r:pow(a.r,b.r),g:pow(a.g,b.g),b:pow(a.b,b.b))}但这很乏味且容易出错。我想做的是创建一个函数,将原始数学函数转换为我的Col版本,这样我就可以这样调用它:defineColVersion(pow,noArgs:2)它定义了新版本,没有覆盖在Doubles上运

ios - 在 Swift 中以编程方式更改推送通知

我有一个应用程序,我在其中实现了推送通知。我与用户确认是否允许远程通知:letsettings=UIUserNotificationSettings(forTypes:[.Alert,.Badge,.Sound],categories:nil)UIApplication.sharedApplication().registerUserNotificationSettings(settings)UIApplication.sharedApplication().registerForRemoteNotifications()我还使用设备token将响应存储在数据库中。我还在设置页面中实现

ios - header 未显示在 UICollectionView 中,甚至已经在 UICollectionViewFlowLayout 中以编程方式注册

即使我已经在UICollectionViewFlowLayout中以编程方式注册,我的标题似乎也没有显示。只是空白。我的代码overridefuncviewDidLoad(){super.viewDidLoad()UICollectionReusableViewletlayout:UICollectionViewFlowLayout=UICollectionViewFlowLayout()layout.sectionInset=UIEdgeInsets(top:0,left:0,bottom:0,right:0)layout.itemSize=CGSize(width:117,heig

ios - 如何在 swift 3 中以编程方式使所有 ios 设备的按钮居中对齐?

我正在创建一个应用程序,我在其中以编程方式创建了一个按钮,但是我遇到了一个问题,即当在其他设备(例如iphone8、7等)中查看时,该按钮无法完美地显示在中心...它显示在iphoneX上完美显示。如何在所有设备上完美显示我的按钮?这是我的代码:letbutton=RideRequestButton()letdropoffLocation=CLLocation(latitude:37.6213129,longitude:-122.3789554)letbuilder=RideParametersBuilder()builder.dropoffLocation=dropoffLocati

ios - 如何在 Swift 中以编程方式将 HeaderView 从 nib 添加到 UiTableView

好吧,我是一个使用Swift语言的天真的IOS开发人员。我有一个显示酒店功能列表的表格View。现在我想在tableView中添加标题信息,其中包含酒店图像,表格View上方的酒店名称,以便标题信息也与tableview内容一起滚动(产品功能列表)这是问题所在,带有功能列表的TableView工作正常。classHotelDetailViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{@IBOutletweakvarcategoriesTableView:UITableView!varite

ios - 如何创建自定义按钮并在 iOS 中以最佳方式多次使用?

我在ios中创建了一个自定义UIButton。我想使用相同的自定义按钮十次,属性相同但标题不同。在不为每个按钮重复相同代码的情况下,最有效和最聪明的方法是什么?它应该是一个结构、一个类还是其他什么?我该如何实现?我为自定义按钮更改的属性如下:@IBOutletweakvarbutton_1:UIButton!button_1.frame=CGRectMake(0.0,0.0,button_1.frame.width,button_1.frame.height)button_1.clipsToBounds=truebutton_1.layer.cornerRadius=button_1.

ios - 在 Swift 中以编程方式启动手势识别器?

我正在尝试确定是否有以编程方式设置手势识别器状态的方法,以强制它在实际检测到用户输入之前开始。例如,我在检测到长按时向图像添加平移手势识别器,就像这样;letlongPressRecognizer=UILongPressGestureRecognizer(target:self,action:"longPressed:")myImage.addGestureRecognizer(longPressRecognizer)funclongPressed(sender:UILongPressGestureRecognizer){letmainWidth=UIScreen.mainScreen

ios - sigabrt 错误在 Swift 中以编程方式调用 segue

我是iOS开发的新手,目前正在尝试在选择UITableViewController中的单元格后以编程方式调用segue。尽管我已经在我的Storyboard中创建了segue并为其分配了一个标识符,但我仍然在重写的didSelectRowAtIndexPath方法中调用performSegueWithIdentifier方法时收到sigabrt错误。任何帮助将不胜感激。overridefunctableView(tableView:UITableView!,didSelectRowAtIndexPathindexPath:NSIndexPath!){self.performSegueW

swift - 是否可以将通用协议(protocol)传递到构造函数中以在 Swift 3 中进行适当的依赖注入(inject)?

我正在尝试使用泛型在Swift3中完成面向协议(protocol)的编程。这还没有完全支持吗?我将在下面向您展示我想做什么,但不会编译。我在这里错过了什么吗?我的目标是能够使用面向协议(protocol)的编程来执行依赖注入(inject),目的是在我的单元测试中轻松模拟这些结构。protocolZombieServiceProtocol{funcfetchZombies()varzombieRepository:RepositoryProtocol{getset}}structZombieService:ZombieServiceProtocol{varzombieRepositor