1. setImage 无效果
按钮修改各状态图片无效的问题
如果设置了 button 的 enabled 为 NO 的话,
self.allBtn.enabled = NO;
上次就遇到了,设置为 NO, 再设置
[self.allBtn setImage:[UIImage imageNamed:@"seat_button_cancel_on"] forState:UIControlStateSelected];
死活没有效果,经过几番折腾, 看了看文档:
@property(nonatomic,getter=isEnabled) BOOL enabled; // default is YES. if NO, ignores touch events and subclasses may draw differently
默认为YES。 如果 NO,则忽略触摸事件,子类可能(一般)会有不同的绘制,这下就找到原因了。
- 解决方法
不要设置
self.allBtn.selected = NO;
设置 userInteractionEnabled 属性 即可 :
self.allBtn.userInteractionEnabled = NO;
然后再设置图片之类的。
2. 点击无响应
最近遇到在 iPhone X 上,底部的按钮点击总是无响应,热区很小,试了很多种方法,填一个父视图、扩大按钮的点击区域等方式,始终是无效果,百思不得其解,今天重新又看一下,找到问题的原因,因为父视图的区域没有把按钮盖住导致的:
- 这是在 iPhone X 上的视图层次结构
- 这是在其他手机上的
这样是没问题的,找到问题就好办了,扩大父视图的区域,就 OK 了,开始没看出来。
image.png这样就没事了,就是父视图区域的原因。
Masonry 与 frame 混用导致的问题
Masonry 与 frame 混用导致视图不能正常显示,舍弃手写,或全部手写frame,很坑的问题,还是怪道行太浅。
网友评论