一个困扰我两天的问题,终于解决了,人类在探索未知领域的时候总是这么步履维艰。一步一步透过层层浓雾,登上山顶,长开有力的臂膀,撕破笼罩在周身的浓雾,一缕阳光照进你的胸膛,豁然间:一种拨开云雾见青天的感觉油然而生。抬望眼,你蓦然瞥见,原来脚下的路不过才是登顶的第一阶而已!
按钮的点击事件,手势事件等,存在最大的不可点击的原因就是 子视图布局在了父视图之外。
我遇到的情况就是这样
首先来看效果图 本来xib创建的时候你的设置是这样的
实际上展示出来的效果是这样的
比较两者的不同,会发现 在xib中的设置的背景色 没有显示出来,那么背景色上哪儿去了呢。
经排查,发现是xib中的 autoresizing 属性的问题,导致各个子视图之间的依赖关系变得走样了。就是这个东西
解决办法:
我们把 Autoresizing 属性都设置为 非选中状态,就可以了。
或者,在这个子类中,我们可以设置这样的属性
self.autoresizingMask = UIViewAutoresizingNone;
这样 背景颜色 就会显示出来
这样,子视图就可以正常显示出来,相应的点击事件也能响应了
Xcode 8.2.1
前面学习
iOS
编程时,画UI控件的时候用的都是直接敲代码的方式,基本都是先创建一个相应控件的对象,然后设置对象属性,最后
添加
相应的事件
响应
方法。那强大如Apple这样的公司有没有提供一种更方便、更易学的UI编写方法呢?答案是肯定的。那就是今天本文的主角
XIB
。它是一种可视化的方法,极大地降低了学习
iOS
编程的门槛。
XIB
实践
创建一个名叫
iOS
XIB
Demo的工程,打开工程info.plist文件,将Main storyboard file base name这个标签去掉,如下图所示
创建一个
iOS
的Cocoa
+ (instancetype)mineHeaderView
return [[NSBundle mainBundle] loadNibNamed:@"DDMineHeaderView" owner:nil options:nil].lastObject;
添加
手势
后, 以上的创建对象方法就不可以通过lastObject来获取了, 因为获...
payButton.titleEdgeInsets = UIEdgeInsetsMake((payButton.imageView?.height)! + 20, -(payButton.imageView?.width)!, 0, 0)
payButt...
点击控件跳转:// 1: 指定在哪个 Storyboard , 如 Main . let playSB = UIStoryboard.init(name: "Main", bundle: nil)//2: 在要需要跳转的 Storyboard 页面, identity 中
添加
Storyboard ID, 如: live , 并强制转换成要跳转页面相应的控制器. ...
今天在做tableView的头视图自定制,在上面贴了button,frame为头视图的frame,但是
点击事件
没有
响应
。
原因:button的alpha设为0了,这样就不能捕捉到事件了。。。背景色设置为clearColor也没事,就是alpha不能设置为0。
今天做了一个例子遇到了如题的问题,这可能是初学者都容易犯的问题吧。
在一个view上
添加
了一个UIScrollView,然后在UIScrollerView上
添加
了一个UIImageView,希望点击这个imageView有反应,于是在UIImageView上
添加
了UITapGestureRecognizer,但是怎么点都没有反应,仔细查看并不是UITapGestureRecogni
紧接着上一节来写 一,选中On按钮,同时按住Control键,连接到FirstViewController.h文件中。会弹出如下对话框。 二,将Connection处选择为Action,同时将Name处填入
点击事件
名称,此处可不写冒号,Xcode会自动在
点击事件
后
添加
冒号。如下图所示。
点击事件
为doClickOn. 三,FirstViewController.h中如下: 四,FirstVie...
目录编译器运行后报错问题原因:这种问题仅限于swift调用其他项目的oc
xib
其他项目的oc
xib
配置如下:
之前封装
xib
都是封装的控制器,今年开始把UIView封装成
Xib
,这样更灵活,但是之前都是封装的Swift的
Xib
给Swift项目用,今天封装了Oc
Xib
给Swift项目调用发现了问题.在Storyboard里面不识别oc 的
Xib
编译器运行后报错
[Storyboard] Unknown class _TtC24TDWTZImagePickerViewDemo20TDWTZImagePi
项目适配到
iOS
8,用Swift3.1编写,项目上线后收到的bug反馈都是
iOS
8系统的手机,于是下载了对应版本的模拟器运行,发现8.+系统下控制器
xib
无法识别,其他系统都可以。郁闷了半天,准备纯代码重写,又想到这作业量有点大了,不是几个简单的布局界面,网上查询资料终于找到了一个解决办法:
//定义一个闭包用来回传地址
var addressCallBack: ((_ adds:St
今天写
iOS
项目时,发现虽然为按钮
添加
了
点击事件
,但是点击后却无法
响应
,搜索后才解决了问题:按钮的所在的父控件如果不能交互的话,那么这个按钮也无法交互,当然,可以将父控件的userInteractionEnabled属性设置为YES。我这个项目所在的按钮是
添加
在UIImageView上的,所以按钮无法进行交互。解决办法:imageView.userInteractionEnabled=YES;
上午被按钮的一个点击不能触发事件折腾了许久。现已解决,总结并分享出来。希望能对遇到这种情况的人有所帮助。
1、UIButton不能点击情况的第一种是,你将button
添加
到一个不能
响应
点击事件
的View里。如你将button
添加
到UIImageView中,解决办法只需将UIImageView的
userInteractionEnabled设为YES即可。
2、UIButton不能点击