- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 iOS 开发新手。我有一个 imageView。点击 imageView 上的任何一点,我在那个点创建一个标签。之后,我想在点击新创建的标签时为该标签添加一个删除选项(这次我不想再次创建标签。所以我禁用了 imageView 的用户交互。但是点击操作不起作用,因为我禁用了 ImageView 上的用户交互。当我启用它时,调用点击标签功能工作正常,但新标签是正在补充这一点。我附上下面的代码。我正在使用 swift 3.0请帮助我。
import UIKit
class Tagging: UIViewController,UISearchBarDelegate,UISearchControllerDelegate,UISearchResultsUpdating{
let tapGesture = UITapGestureRecognizer()
let labelTapGesture = UITapGestureRecognizer()
var taggedPersonNameLabel = UILabel()
var pointingToNotation = TriangleView()
var searchController : UISearchController!
@IBOutlet var imageToBeTagged: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageToBeTagged.image = imageToUploadAfterFiltering
tapGesture.addTarget(self, action: #selector(tappedOnImage))
imageToBeTagged.addGestureRecognizer(tapGesture)
imageToBeTagged.isUserInteractionEnabled = true
//creating done btn
let next = UIButton(type: .custom)
next.setTitle("Done", for: .normal)
next.frame = CGRect(x: 0, y: 0, width: 60, height: 30)
next.addTarget(self, action: #selector(doneBtnAction), for: .touchUpInside)
let nxtBtn = UIBarButtonItem(customView: next)
self.navigationItem.rightBarButtonItem = nxtBtn
//adding tap gesture to who's this label for giving delete tag action
tapGesture.addTarget(self, action: #selector(deleteTag))
taggedPersonNameLabel.isUserInteractionEnabled = true
taggedPersonNameLabel.addGestureRecognizer(labelTapGesture)
}
func doneBtnAction(){
let _ = self.navigationController?.popViewController(animated: true)
}
func deleteTag() {
print("oohhyaaaahhh")
}
func tappedOnImage(){
let point = tapGesture.location(in: tapGesture.view)
if point.x < 100 {
// triangle view class is defined in uitility files folder
pointingToNotation = TriangleView(frame: CGRect(x:point.x + 5, y:point.y - 3, width:10, height:6))
pointingToNotation.backgroundColor = .clear
self.imageToBeTagged.addSubview(pointingToNotation )
//to show pop without going out beyond 0
taggedPersonNameLabel = UILabel(frame : CGRect(x:point.x , y: point.y + 3, width: 100, height: 25))
}else if point.x > 100 && point.x < UIScreen.main.bounds.width - 100{
pointingToNotation = TriangleView(frame: CGRect(x:point.x, y:point.y - 3, width:10, height:6))
pointingToNotation.backgroundColor = .clear
self.imageToBeTagged.addSubview(pointingToNotation )
taggedPersonNameLabel = UILabel(frame : CGRect(x:point.x - 50 , y: point.y + 3, width: 100, height: 25))
}
else{
pointingToNotation = TriangleView(frame: CGRect(x:point.x - 15, y:point.y - 3, width:10, height:6))
pointingToNotation.backgroundColor = .clear
self.imageToBeTagged.addSubview(pointingToNotation )
//to show pop up without going outside the screen width
taggedPersonNameLabel = UILabel(frame : CGRect(x:point.x - 100 , y: point.y + 3, width: 100, height: 25))
}
taggedPersonNameLabel.textAlignment = .center
taggedPersonNameLabel.textColor = UIColor.white
taggedPersonNameLabel.layer.cornerRadius = 6
taggedPersonNameLabel.layer.masksToBounds = true
taggedPersonNameLabel.backgroundColor = UIColor.black.withAlphaComponent(0.7)
taggedPersonNameLabel.text = "Who's this?"
self.imageToBeTagged.addSubview(taggedPersonNameLabel)
self.searchController = UISearchController(searchResultsController: nil)
self.searchController.searchResultsUpdater = self
self.searchController.delegate = self
self.searchController.searchBar.delegate = self
self.searchController.searchBar.searchBarStyle = .minimal
self.searchController.hidesNavigationBarDuringPresentation = false
self.searchController.dimsBackgroundDuringPresentation = true
self.searchController.searchBar.tintColor = UIColor.white
self.navigationItem.titleView = searchController.searchBar
self.definesPresentationContext = true
let textFieldInsideSearchBar = self.searchController.searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.textColor = UIColor.white
self.imageToBeTagged.isUserInteractionEnabled = false
}
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
//this is used to hide search bar.
// self.searchController.searchBar.isHidden = true
}
func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
}
func updateSearchResults(for searchController: UISearchController) {
}
}
最佳答案
为 tapGesture
添加两次手势目标,将其更改为 labelTapGesture
imageToBeTagged.image = imageToUploadAfterFiltering
//added the action to tap on image
tapGesture.addTarget(self, action: #selector(tappedOnImage))
imageToBeTagged.addGestureRecognizer(tapGesture)
imageToBeTagged.isUserInteractionEnabled = true
//creating done btn
let next = UIButton(type: .custom)
next.setTitle("Done", for: .normal)
next.frame = CGRect(x: 0, y: 0, width: 60, height: 30)
next.addTarget(self, action: #selector(doneBtnAction), for: .touchUpInside)
let nxtBtn = UIBarButtonItem(customView: next)
self.navigationItem.rightBarButtonItem = nxtBtn
//adding tap gesture to who's this label for giving delete tag action
//label tap to delete the tag
labelTapGesture.addTarget(self, action: #selector(deleteTag))//change hear
taggedPersonNameLabel.isUserInteractionEnabled = true
taggedPersonNameLabel.addGestureRecognizer(labelTapGesture)
关于ios - 将 tapGesture 添加到禁用了 userInteraction 的 imageView 上的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44326232/
我是 iOS 编程新手。我的手机在 .nib 中。此单元格显示工作正常的图像。我不希望单元格执行任何操作或被选中。所以,我有以下代码: cell.selectionStyle = UITableVie
我有一个包含两个部分的表格 View ,我希望禁用第二部分单元格内的 textView 的用户交互(这些已完成,用户不能编辑他们的文本)。下面来自 cellForRowAt 的代码工作正常,但是当我添
自从过去 3 到 4 个小时以来,我一直在研究它,但我没有得到任何信息。我的问题是我想对 UIViewController 的某些部分启用 userInteraction。 描述: 我有一个 UIVi
我有一个 View 和 view.UserInteractionenabled = no 并且一个按钮被添加到 View 中。我只需要点击按钮。是否可以仅启用按钮的交互。 最佳答案 View 无法接收
我创建了一个 View Controller ,它显示一个用于将 View 滑动到屏幕上的按钮。这个想法是在屏幕上放置三个这样的 View Controller ,从而在屏幕底部产生三个提供导航的按钮
我在我的其中一个 View 之上添加了一个 subview ,并使用 animateWithDuration 对其进行动画处理,使其从屏幕底部开始并在屏幕顶部结束。一切正常,除了在 animate
我正在使用带有页眉和页脚的 UITableView,整个 TableView 内部都有水平的 UIScrollView。我将它用作锁定标题功能,就像在 Excel 中一样。 UserInteracti
所以基本上我有一个评论单元格,其中包含几个元素,特别是 UIImageView,其中包含用户的个人资料图片。我在该元素上启用了 userInteraction,甚至添加了一个 tapGesture。但
我将 UITextView 放在 UITableViewCell 子类上,并且 tableView:didSelectRowAtIndexPath: 仅在我点击 UITextView 的外部 单元格时
如何禁用 UITableview 单元格的 UserInteraction 但不是该单元格上的自定义按钮.. 我正在使用 : 创建一个按钮 UIButton *dayButton = [UIB
我一直在浏览大量论坛和教程,希望能够加快我的 cloudkit 应用程序的速度 - (至少)似乎答案归结为将服务质量功能设置为“UserInteractive”。目前,更新具有 3 条记录的表 Con
当用户单击 UITableView 中的删除按钮时(编辑打开时),UIActivityIndicator 会显示在 tableView 的中间,因为我想不出一种方法将它放在要删除的 Cell 的中
我目前有我的 UIImageView.clipsToBounds = NO; 它工作得很好,除了我需要启用 userInteraction 以便如果触摸 subview 我可以响应触摸。任何人都知道如
我必须将我的 MBProgressHUD 添加到 self.navigationController.view 因为在 self.view 上有一个设计错误(在 UITableView 中) . 一切
我的功能是在单击文本字段时打开选择器。我的文本字段位于 ScrollView 内,如下图所示。 我想在选择器打开时禁用 ScrollView 的用户交互。以下是我的代码。 - (BOOL)textFi
我想知道它们之间有什么区别,我正在尝试更新 UI 中的某些内容,因此我必须使用主线程来完成它,但不确定我应该使用它们中的哪一个来完成我想要的。 谢谢 最佳答案 “用户启动”意味着用户直接请求了这个操作
我是 iOS 开发新手。我有一个 imageView。点击 imageView 上的任何一点,我在那个点创建一个标签。之后,我想在点击新创建的标签时为该标签添加一个删除选项(这次我不想再次创建标签。所
伙计们,我需要在这样的 View 中调用一个函数,如果三秒钟内没有用户交互,则应该调用该函数我该怎么办? 任何人都可以提供一个逻辑或链接来帮助这个吗?谢谢 最佳答案 我的建议是在该 View 上覆盖
基本上,我在单元格内有一个 imageView,其 isUserInteractionEnabled 设置为 true,因为它有一个 UITapGestureRecognizer。现在的问题是,当我长
我正在尝试遵循 MVC,它在自己的文件中包含 View 的所有逻辑,而不是 View Controller 。我现在想做的是在你点击照片时放大照片,然后禁用与它现在前面的 tableview 的交互(
我是一名优秀的程序员,十分优秀!