- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以基本上我有一个评论单元格,其中包含几个元素,特别是 UIImageView,其中包含用户的个人资料图片。我在该元素上启用了 userInteraction,甚至添加了一个 tapGesture。但是,控制我要在此元素上运行的操作的函数仍然没有反应。
import Foundation
import UIKit
protocol CommentCellDelegate: class {
func optionsButtonTapped(cell: CommentCell)
}
class CommentCell: UICollectionViewCell {
weak var delegate: CommentCellDelegate? = nil
weak var newCommentController: NewCommentsViewController?
override var reuseIdentifier : String {
get {
return "cellID"
}
set {
// nothing, because only red is allowed
}
}
var didTapOptionsButtonForCell: ((CommentCell) -> Void)?
var comment: CommentGrabbed?{
didSet{
guard let comment = comment else{
return
}
// print("apples")
// textLabel.text = comment.content
//shawn was also here
profileImageView.loadImage(urlString: comment.user.profilePic!)
// print(comment.user.username)
let attributedText = NSMutableAttributedString(string: comment.user.username!, attributes: [NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: 14)])
attributedText.append(NSAttributedString(string: " " + (comment.content), attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 14)]))
textView.attributedText = attributedText
}
}
let textView: UITextView = {
let textView = UITextView()
textView.font = UIFont.systemFont(ofSize: 14)
textView.isScrollEnabled = false
textView.isEditable = false
return textView
}()
let profileImageView: CustomImageView = {
let iv = CustomImageView()
iv.clipsToBounds = true
iv.isUserInteractionEnabled = true
iv.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleProfileTransition)))
iv.contentMode = .scaleAspectFill
return iv
}()
lazy var flagButton: UIButton = {
let flagButton = UIButton(type: .system)
flagButton.setImage(#imageLiteral(resourceName: "icons8-Info-64"), for: .normal)
flagButton.addTarget(self, action: #selector(optionsButtonTapped), for: .touchUpInside)
return flagButton
}()
@objc func optionsButtonTapped (){
didTapOptionsButtonForCell?(self)
}
@objc func onOptionsTapped() {
delegate?.optionsButtonTapped(cell: self)
}
@objc func handleProfileTransition(tapGesture: UITapGestureRecognizer){
print("Tapped Image Cell")
}
override init(frame: CGRect){
super.init(frame: frame)
addSubview(textView)
addSubview(profileImageView)
addSubview(flagButton)
textView.anchor(top: topAnchor, left: profileImageView.rightAnchor, bottom: bottomAnchor, right: rightAnchor, paddingTop: 4, paddingLeft: 4, paddingBottom: 4, paddingRight: 4, width: 0, height: 0)
profileImageView.anchor(top: topAnchor, left: leftAnchor, bottom: nil, right: nil, paddingTop: 8, paddingLeft: 8, paddingBottom: 0, paddingRight: 0, width: 40, height: 40)
profileImageView.layer.cornerRadius = 40/2
flagButton.anchor(top: topAnchor, left: nil, bottom: nil, right: rightAnchor, paddingTop: 4, paddingLeft: 0, paddingBottom: 0, paddingRight: 4, width: 40, height: 40)
flagButton.addTarget(self, action: #selector(CommentCell.onOptionsTapped), for: .touchUpInside)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
有什么我可能做错的想法吗?用户界面层次结构
最佳答案
在 self 完全初始化之前,您正在尝试将手势识别器目标设置为 self。
考虑对您的 profileImageView
使用惰性初始化。
它应该是这样的:
lazy var profileImageView: CustomImageView = {
let iv = CustomImageView()
iv.clipsToBounds = true
iv.isUserInteractionEnabled = true
iv.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleProfileTransition)))
iv.contentMode = .scaleAspectFill
return iv
}()
关于ios - UserInteraction Enabled 但 UIElement 仍然没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473529/
我是 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 的交互(
我是一名优秀的程序员,十分优秀!