草庐IT

cocoa-touch - 如何将 UICollectionViewCell 的可触摸区域扩展到其边界之外?

我有一个CollectionView单元格,其标签延伸到单元格边界之外。该单元格不会剪裁标签。如果用户点击超出单元格边界的标签部分,我希望didSelectItemAtIndexPath检测选择。我该怎么做? 最佳答案 subview的可触摸性通常不会超出父View的范围。因此,您需要为您的CollectionView单元格类修改HitTest,以便即使触摸超出单元格边界,它的subview也是可触摸的。在我的书中,我给出了一个example(你可以下载并在你的机器上试用)是这样工作的:overridefunchitTest(_po

swift - swift编程中点击的图像区域坐标

我是Swift应用程序开发的新手,我想知道如何使用Swift根据点击Image的位置添加触摸事件。我需要获取图像被点击区域的坐标。 最佳答案 您需要在ImageView上使用点击手势识别器,您还需要将用户交互属性设置为启用。然后你可以从手势识别器的方法中得到点。这是一些快速代码:importUIKitclassViewController:UIViewController{@IBOutletweakvarimageView:UIImageView!overridefuncviewDidLoad(){super.viewDidLoad

ios - UIPageViewController - 双击点区域显示部分过渡(Xcode 8,Swift 3)

双击页面控制区域底部的任意位置(点所在的位置)会暂停从一个ViewController到另一个ViewController的转换。双击示例:我简化了一个UIPageViewController项目来演示这一点:StoryboardPageViewController.swiftimportUIKitclassPageViewController:UIPageViewController,UIPageViewControllerDataSource,UIPageViewControllerDelegate{varpages:[UIViewController]=[UIViewContro

ios - 如何从特定记录区域获取记录

我正在构建一个应用程序,允许用户在云端管理他们的产品。为此,我在iCloud中有一个产品记录类型。我将此记录类型用于两个目的:要管理我有可用的产品,所有产品都存储在专用的产品记录区保存我在客户支票中存储的产品。我有一个单独的支票记录区,我在其中保存与客户交易的支票或“收据”。我在这里也使用产品记录类型,以便跟踪正在销售的产品。现在我遇到一个问题:当我尝试为我的产品经理获取所有产品时,它还会从Checks记录区域获取产品-该区域包含交易及其包含的产品。显然,我只需要从ProductsRecordZone中获取产品。网上好像没有太多这方面的引用,所以我想我会在这里发布一个问题,也供以后引用

ios - 如果我们在 Swift 中触摸 UITextView 之外的其他区域,如何关闭键盘

我有UITextViewinsidestatictableview,如果用户触摸textView之外的其他区域,我想移除键盘>通常我可以通过这行代码来删除键盘,但我不知道为什么,在TextView中添加占位符后,它不起作用。我怀疑是因为它在静态TableView中extensionCheckinDetailTVC{//toremovekeyboardifwetouchotherareaoverridefunctouchesBegan(_touches:Set,withevent:UIEvent?){self.view.endEditing(false)}}我也在stackoverflo

ios - Swift mkmapview 从纬度经度增量获取可见 map 区域的缩放级别、宽度或半径

我对如何获取map可见区域的缩放级别和半径感到困惑(使用mapkitmapview)。这是我正在寻找的东西(根据需要,它们中的一个或两个)-缩放级别,是为了查看向用户显示map的哪个级别,根据该信息,我想在可见区域显示自定义图钉。如果缩放级别很高,我需要将一些商业商店的实际Logo显示为图钉。如果缩放级别较低,我需要显示彩色圆点而不是Logo。截至目前,我正在使用letupdatedRadius=(mapView.camera.altitude)/1000获取相机的高度,如果updatedRadius值>25.0,我将显示彩色点.低于25.0,我显示Logo。我在regionDidCh

ios - 如何根据区域设置仅显示日期的日期和月份?

我只想显示日期的日期和月份,但我希望它基于用户的区域设置。例如我有以下日期:21/05/201500:16:00GMT+10如果语言环境是en_US,我想要5月21日,或者如果语言环境是fr_FR,我想要5月21日例如。我查看了NSDateFormatter格式化程序的dateStyle,但找不到我想要的。 最佳答案 也许是这样的:letd=//thedateletdf=NSDateFormatter()letformat=NSDateFormatter.dateFormatFromTemplate("dMMMM",options:

swift - MKMapView NSInvalidArgumentException 无效区域在 ios 9 swift 中崩溃?

我试图在TableView中查看MKMapView,但它因某些问题而崩溃,但我找不到那个问题,请有人帮我解决这个问题吗?显示是这样的……Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'InvalidRegioncenter:-119.27656620,+34.26884010span:+0.04487346,-0.12825858>'在这里,我给出了我所做的代码..letlocation=CLLocationCoordinate2D(latitude:longarray[indexPath

ios - 在以编程方式创建的 UIViewController 中带有安全区域的 UITabBar

在将其标记为重复之前请注意,我确实阅读了this这似乎不适用于UITabBarUIViewController和UITabBar都是以编程方式创建的。约束设置如下:publicoverridefuncviewDidLoad(){super.viewDidLoad()self.view.bringSubview(toFront:self.tabBar)}和self.tabBar:lazyvartabBar:UITabBar={lettab=UITabBar()self.view.addSubview(tab)tab.translatesAutoresizingMaskIntoConstr

SwiftUI:增加用户交互的点击/拖动区域

我在SwiftUI中构建了一个带有20x20拇指拖动器的自定义slider。一切正常,除了点击目标非常小,因为它只是20x20View。我正在寻找一种方法来增加它,使用户更容易与我的slider交互。有没有办法在SwiftUI中执行此操作?我尝试用Color.clear.overlay包裹我的拇指并将框架设置为60x60。如果颜色是纯色(如red),此方法有效,但使用clear时,点击目标似乎恢复为20x20的可见像素。您可以在这张gif上看到,即使在拇指以外的地方单击,我也可以拖动slider。但是,一旦我将颜色更改为clear,这个区域就不再接收交互。