摘要:考虑这样的一个场景.视图控制器vc1管理一个button.button 按下后弹出一个下拉框【uitableview】。下拉框当然可以用vc1管理。但是,因为下拉框点击后还要做其他操作,而且其他操作并不影响vc1管理的视图。这个时候有必要在设计一个vc2来管理这个下拉框。让业务逻辑在不同的视图控制器来处理。那么为了让下拉框在vc1管理的视图上显示。自然而然可以考虑[vc1.view addSubView vc2.view];但是这种实现会有一个很容易忽视的bug代码实现如下@interface HomeViewController ()@property (strong, nonatomic)
阅读全文
摘要:iOS6之后,按照之前的官方文档会报这样的bugTerminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable todequeuea cell with identifier Cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'- (UITableViewCell *)tableView:(U
阅读全文
摘要:笔者在使用UISegmentControl时,发现这个控件有些许bug.最突出的问题是设置背景图。如果不涉及到背景图,勉强够用。一旦涉及到设置背景图。基本就无法正常显示,只能看到一片模糊的蓝色[tintColor的颜色]如果当我们的segment个数不太多,我们可以多个UIButton模拟构造它。注意初始化的时候设置UIButton的风格是custom而不是system我们需要UI 帮我们设置4张图。每个UIButton需要两张图片。一张是normal状态,一张是selected状态代码如下 self.manButton = [UIButton buttonWithType:UIButton.
阅读全文
摘要:注意两点就可以了。1.初始化使用UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom] 而不是UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]后者之意思就是为你设计号了内容,居然设计好了内容,再想改变内容【比如图】,是不可能的。2.设置图使用 [button setImage:OKImage forState:UIControlStateNormal] 而不是使用[button.imageView setImage:OKImage forStat
阅读全文
摘要:虽然保存输入帐号或者密码并不是UITextField的责任,但是实际上要保存的原始信息是UITextField的text。那么我们就有一个问题,何时保存这个信息了。一般情况下提出这种需求是我们在登录成功后保存某一个输入的字符串信息。如果不成功,也没有保存的必要。保存的目的是为了用户下次不用重新输入。往往是确定登录按钮的Target Action的Action事件中是保存的最好时机。而不是在UITextFieldDelegate的两个方法中- (void)textFieldDidEndEditing:(UITextField *)textField // 当插入符离开输入框后调用-(BOOL)t
阅读全文
摘要:在使用UITextField过程中,常常遇到一些可以相似的可以复用的场景,整理如下。1.键盘挡住了输入框。解决方案:在两个委托方法中,将视图上移或者下移,这样-(void)textFieldDidBeginEditing:(UITextField *)textField - (void)textFieldDidEndEditing:(UITextField *)textField实现view的向上和向下移动。当插入符到textField时,调用了textFieldDidBeginEditing方法。此时将控制器的view向上移动一定距离。纵坐标减少当插入符离开textField时,调用text
阅读全文