首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

按下时UIButton不可选,并且在自定义UICollectionReusableView中无法分割

,这个问题涉及到iOS开发中的用户界面交互和自定义视图的处理。

首先,按下时UIButton不可选,可以通过设置UIButton的isEnabled属性为false来实现。当isEnabled为false时,按钮将变为不可选状态,用户无法点击。

其次,在自定义UICollectionReusableView中无法分割,可能是因为没有正确设置分割线或者分割线的样式不正确。可以通过以下步骤解决:

  1. 确保UICollectionReusableView的父视图UICollectionView已经设置了分割线。可以通过设置UICollectionView的showsVerticalScrollIndicator和showsHorizontalScrollIndicator属性为true来显示垂直和水平的滚动条,从而显示分割线。
  2. 设置UICollectionView的分割线样式。可以通过设置UICollectionView的separatorStyle属性来设置分割线的样式,常见的样式有None、SingleLine、SingleLineEtched等。
  3. 自定义UICollectionReusableView的分割线。可以通过在UICollectionReusableView的子视图中添加一个分割线视图来实现。可以使用UIView来创建一个分割线视图,并设置其frame、backgroundColor等属性来自定义分割线的样式。

综上所述,按下时UIButton不可选可以通过设置isEnabled属性为false来实现,而在自定义UICollectionReusableView中无法分割可能是因为没有正确设置分割线或者分割线的样式不正确。希望以上解答对您有帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift-低仿搜狐新闻标签页效果

在ViewController里自定义了两个数组,我的频道(myChannels)和更多频道(moreChannels) 在点击+跳转到频道管理页面的点击方法里面有一个回调方法,即:将选中的频道、以及自定义后的频道回传到此页面...= { let btn = UIButton(type: .custom) btn.setTitle("编辑", for: .normal)...'删除'或'新增'问题. 2.这样处理,就会崩溃.自己算法水平有限,也是真的没想到什么比较好的办法. 3.可能有人比较较真,提到如果真的像搜狐那么多'section...我的频道里面第一个Item本意上我是希望他可以被移动的,但是如果将其它的Item移动到第一个位置依然可以,背离了我的初衷。...仔细观察了一,《头条》或者《搜狐》的更多频道里,如果将我的频道的Item移动到更多频道里,《搜狐》只是放在更多频道里面的最后一个位置,《头条》是放在第一个的位置,并没有放哪里都行,我突然又感觉我自己的又有点多此一举了

1.9K40
  • iOS 图片加载框架SDWebImage详解

    目的 在使用SDWebImage加载图片时,尤其是加载gif等大图,SDWebImage会将图片缓存在内存,这样是非常吃内存的,这时我们就需要在适当的时候去释放一SDWebImage的内存缓存,才不至于造成...后台图片解压缩 同一个 URL 不会重复下载 自动识别无效 URL,不会反复重试 阻塞主线程 高性能 使用 GCD 和 ARC 支持多种图片格式(包括 WebP 格式) 支持动图(GIF) 4.0...添加缓存的方法: [[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey]; 默认情况,图片数据会同时缓存到内存和磁盘...自定义缓存 key 有时候,一张图片的 URL 的一部分可能是动态变化的(比如获取权限上的限制),所以我们只需要把 URL 不变的部分作为缓存用的 key。...问题 2:图片刷新问题:SDWebImage 在进行缓存忽略了所有服务器返回的 caching control 设置,并且在缓存没有做时间限制,这也就意味着图片 URL 必须是静态的了,要求服务器上一个

    2.5K10

    iOS学习——页面的传值方式iOS----KVC和KVO 详解

    一、简述 在iOS开发过程,页面跳转在页面之间进行数据传递是很常见的事情,我们称这个过程为页面传值。...,提前创建主页面,通过赋值的方式将当前页面的数据赋予主页面的属性。...(协议)的定义,定义一个传递数据的方法,并且在子页面的类添加一个代理属性;然后,在子页面返回主页面之前调用代理定义的数据传递方法(方法参数就是要传递的数据);最后,在主页面遵从该代理,并实现代理定义的方法...正向传递注册通知、基本布局不能放在viewDidLoad,要放在初始化函数init。...其实翻译一就很简单了,就是指iOS的开发,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值,而不需要调用明确的存取方法,这样就可以在运行时动态地访问和修改对象的属性。

    1.8K20

    从 0 到 1 搭建技术台之 iOS 可视化埋点实践

    对于 UIButton,获取其 currentTitle 文本或 UIControlStateNormal 状态的图片 URL。文本内容优先于图片内容。...(0)_[click me] UIButton 后面小括号的数字”0”表示其在父视图中的索引,括号内的 “click me” 来自其 currentTitle 的值。...可重复元素是指在列表绘制的元素。在 iOS 只考虑 UITableViewCell 和 UICollectionReusableView。...可重复元素匹配规则 不关注内容 同类元素 关注列表同一 section 内的所有元素。当用户点击任一元素产生的事件都会纳入统计。...元素标识发生变化导致匹配规则失效如何处理? 无论何种原因导致元素的路径或内容发生变化,最终会使得元素事件无法被事先配置的圈选规则匹配。

    1.1K20

    iOS学习——UIPickerView的实现年月选择器

    最近项目上需要用到一个选择器,选择器的内容只有年和月,而在iOS系统自带的日期选择器UIDatePicker却只有四个选项如下,分别是时间(时分秒)、日期(年月日)、日期+时间(年月日时分)以及倒计时...*/ - (void)initUI; //以下三种方法在基类的实现都是空白的,具体的效果在子类重写 /** 点击背景遮罩图层事件 */ - (void)didTapBackgroundView:(...而对于弹出视图中的标题行(包含取消按钮、确定按钮和标题)、分割线和选择器的具体布局在这里就不进行展开了,很简单的部分,大家自行看一代码就OK了。   ...[self.topView addSubview:self.lineView]; } 二是我们的背景蒙层和弹出视图大家可以通过代码看到蒙层遮罩背景的布局是整个屏幕,那么我们为什么直接在蒙层上添加弹出式图呢...后面对其中一些要点进行列出说明一

    4.3K130

    UIButton实现各种图文结合的效果以及原理

    前面说的几个方法看起来有效,也确实会解决问题,但缺点是代码量会增加,而且必须同时管理UIButton, UIImageView, UILabel这三个整体,如果哪天产品还希望有一个按钮高亮或者阴影效果...(selfWith - titleRect.size.width)/2来保证文本填充满所有的按钮区域,在下面的各种样式凡是文字和图片垂直居中的情况都要考虑这种情况 设置的代码为: titleEdgeInsets...(imageRect.origin.x - padding)); 前面说的的十种图文结合样式,我想应该可以满足您的需求了,如果这些图文结合的样式还是无法满足您的需求则您还是别用...youngsoft // Email: obq0387_cn@sina.com // #import /* 针对同时设置了Image和Title的场景UIButton...,或者水平居右,或者垂直居上或者垂直居则可以用UIButton的原生(UIControl)属性: @property(nonatomic) UIControlContentVerticalAlignment

    2.9K10

    【IOS开发基础系列】Table View开发专题

    下面一一介绍这4种基本格式:     1、UITableViewCellStyleDefault         该格式提供了一个简单的左对齐的文本标签textLabel和一个可选的图像imageView...; 2.2.6 自定义UITableViewCell分割线 - (UITableViewCell *) tableView: (UITableView*)tableView cellForRowAtIndexPath...因此在cell不可见,可以将其缓存起来,而在需要继续使用它即可。...奇怪的是,使用自定义的view,而非预定义的view,明显会快些。...出现这种现象的原因就是主线程执行了耗时很长的函数或方法,在其执行完毕前,无法绘制屏幕和响应用户请求。其中最常见的就是网络请求了,它通常都需要花费数秒的时间,而你不应该让用户等待那么久。

    35920

    Swift 探索 UICollectionView 之 SupplementaryView 和 Decoration View

    答案当然是肯定的,在 UICollectionView 控件我们管这叫 Supplementary View, 翻译过来就是 "追加视图",那在 UICollectionView 该怎么实现给每个...CGSize 第一个方法需要在设置 UICollectionView 的时候,将需要添加到 UICollectionView section 里的 headerView 和 footerView 先注册一,...在接下来的内容,你将会学到以下知识点: 1.如何在 UICollectionView 创建 Decoration View2.自定义布局属性,计算 section 的背景图位置和大小3.实现 UICollectionView...计算背景图布局属性 为了实现这个书架分层的样式,我们需要为每个 section 设置一个背景图,如: 但是由于每个 section 的坐标位置是固定的,于是我们就需要在准备阶段将所有 section...但当我真正的去整理它的一些技术点,我发现它实在是太灵活了,以前觉得追加视图,装饰视图这些东西很简单,几行代码的事情,但事实上,当你想要去实现一些高度自定义的界面的时候,你才会认识到自己的不足,你并没有对这些知识有更深层次的认知

    2.1K10

    1.注册或登录页面设计:UILabel,UIButton,UITextField

    最初学iOS的时候苦于没有大神指点,全靠自己一点点摸索,确实走了很多弯路,希望还有小伙伴跟我一样走过多的弯路。   ...confirmButton addTarget:self action:@selector(confirm:) forControlEvents:UIControlEventTouchUpInside];//button被又抬起后发生的事件...button1.adjustsImageWhenDisabled = NO; /* 下面的这个属性设置为yes的状态,按钮会发光*/ button1.showsTouchWhenHighlighted...= YES; /* 给button添加事件,事件有很多种,我会单独开一篇博文介绍它们,下面这个时间的意思是 按钮,并且手指离开屏幕的时候触发这个事件...confirmButton addTarget:self action:@selector(confirm:) forControlEvents:UIControlEventTouchUpInside];//button被又抬起后发生的事件

    2.4K50

    实现更安全、高扩展的自定义键盘 非UIButton

    官方键盘的优点: 触摸事件的回调频率在一秒内可以回调几十次 所有的字母都是在一张图片上面,几乎无法抓取到 title 没有的具体的按钮可以监控点击事件,点击的点 图片更加的利于自定义各种复杂界面 从以上优点可以看出...,官方的键盘在安全性方面是相当高的 自定义键盘 参考官方的键盘,写出了自己的自定义键盘,也是底层图片实现,监控触摸事件 没有安全只有更安全,这里自定义键盘只是相对于 UIButton 堆积起来的键盘,...删除事件已经集成完毕 回调事件已经集成完毕 触摸事件已经封装完善,在触摸了每个字母都有回调 每个按键的点击事件已经完成,只需在事件作出不同的处理即可 未完成: 键盘上字母未实现随机 简化调用 使用介绍...触摸事件回调频率高,并且触摸事件没有数据,最大程度上避免了恶意监控触摸事件,最大程度上避免了恶意监控控件(UIButton,UILabel 此键盘功能是建立在平台的思想上开发的。...主要处理长按事件,当下不松手,连续回调删除的事件 KKShiftItemView 已实现的shift按键。可以直接使用。 shift 按键的一个实现。

    78020

    实际操作-手把手探究tableViewCell上的控件点击事件进阶篇:实际项目操作

    现在学iOS的很多都是培训出来的,给他需求,他知道代码要怎么打才能让App跑出符合需求的效果,但是很多稍微底层的,或者原理性比较不了解,下面就让我们以纯iOS小白的视角,手把手一步步探究tableViewCell...tableViewCell的点击事件,写个“didSelectRowAtIndexPath”方法就能实现行点击效果,经常我们做的是行点击之后页面跳转(push到另一个界面); 此时:如果我们在cell上自定义几个控件...UIImageView继承UIControl,所以没有addTarget方法 -->探究4:没有addTarget方法的ImageView如何添加点击事件? 答:使用手势。 ?...打开imageView的用户交互事件 ---- 拓展:UIView,UIButton默认是可以进行用户交互,如果父控件不能(or 手动关闭用户交互),子控件即使是UIButton,也无法触发交互事件(例如点击事件...---- -------------------------华丽分割线------------------------ 正确做法:不在tableView的行点击进行数据请求,要拿到数据下标,并不只有didSelectRowAtIndexPath

    3.7K50

    iOS项目——自定义UITabBar与布局

    主要缺点就是需要先申请一个位置和控制器来占位比较浪费,而且这种也只适用于各控件的大小是均匀的情况,当我们需求每个TabBarItem的规格和尺寸不一样,我们就无法使用这种方案实现。   ...TabBar 自定义TabBar可以完全按照我们的需求来布局和配置TabBar各子控件的属性和布局。...TabBar加载TabBarItem是在 viewDidLoad 之后执行,我们在自定义TabBar进行断点调试,发现确实是先运行XMGTabBarController的 viewDidLoad方法,...3 添加红点提示   现在很多App的TabBarItem在有新消息在右上角会有一个红点提示,有的甚至还会有具体数目的提醒,类似我们常用的QQ、微信、微博、头条等都会有类似的功能,这个提示在iOS的学名叫做...在iOS的TabBarItem是自带该属性和控件的,我们可以根据自己的需求进行配置,下图是iOS11的配置文档,可以对提示数量、颜色进行自定义设置,还可以对提示文字的属性进行不同状态的配置。

    3K90

    iOS工程师必看的 20 道 面试题

    什么情况会出现循环引用? 循环引用是指2个或以上对象互相强引用,导致所有对象无法释放的现象。这是内存泄漏的一种情况。...当对象被声明为 weak ,父层级对此对象没有指向,该对象的引用计数不会增加1。它在对象释放后弱引用也随即消失。继续访问该对象,程序会得到 nil,亏崩溃 unowned 与弱引用本质上一样。...简单来说,就是当两个对象互相有一个强指向去指向对方,这样导致两个对象在内存无法释放。 weak 和 unowned 的使用场景有如下差别: 当访问对象该对象可能已经被释放了,则用 weak。...实现一个自定义UIButton类,在其中添加点击抖动效果的方法(shake方法) 写一个UIButton或者UIView的拓展(extension),然后在其中增加shake方法 定义一个protocol...,然后在协议扩展(protocol extension)添加shake方法 分析这三种方法: 在自定义的类添加shake方法扩展性不好。

    3.8K40

    iOS-UI控件之UITableView(一)

    self.tableView.separatorColor = [UIColor redColor]; // 设置分割线样式 self.tableView.separatorStyle...self.tableView.tableHeaderView = [[UISwitch alloc] init]; // 设置表尾控件 self.tableView.tableFooterView = [UIButton...,只是提示,结果还是索引位置分组 return [NSArray arrayWithObjects:@"a",@"b",@"c",@"d", nil]; } tableView常用方法 //设置分组的头部数据...UITableViewCell,然后返回给UITableView,重新显示到窗口中,从而避免创建新对象 还有一个非常重要的问题:有时候需要自定义UITableViewCell(用一个子类继承UITableViewCell...UITableViewCell对象 优化时内存分析 优化的时候 离开可视范围就销毁 频繁的开辟内存,销毁内存 - (UITableViewCell *)tableView:(UITableView

    1.8K130

    IOS 开发文档

    一:设计模式 1:本项目采用mvvm设计模式,每个模块分为四个文件夹,分别为:ControllerViewViewModelModel Controller:控制器文件夹 在此文件夹只存放模块相关控制器...,控制器只做UI初始化 刷新UI 响应用户事件 跳转逻辑判断等和业务无关操作,所有业务处理放到ViewModel处理 View:自定义视图文件夹 在此文件夹存放该模块相关的视图,比如自定义的cell...ViewModel:业务逻辑管理 这此处理模块相关的业务逻辑,比如:网络请求 各种代理 数据逻辑判断(PS:输入数据是否合法)等, 并通过block方式提供处理结果给Controller使用,这里建议使用通知方式返回结果...本项目也用到cocopods管理第三方库,如果是不需要改动源码直接使用的建议使用cocopods管理,如果需要改动源码,强烈建议直接放入Libs文件夹管理,以免更新pods代码把修改的代码更新掉 6...属性和属性之间换行已做区分, 实例变量命名要用_xxx方式 {// 数据源NSArray*_dataArray;// 存放选中cell的字典 NSDictionary*_selectedCellDic;} 如果是全局属性并且在

    1.5K40
    领券