我有一个带有UITabBarController的iPhone应用程序.一切正常.该应用程序具有比显示器纵向宽度更多的选项卡,因此我们总共看到5个选项卡(最后一个是"更多"选项卡).问题是,我们希望将一些"不太有趣"的东西放在"更多"标签背后.我知道如果我只有2个视图控制器,那么我只会看到2个标签,依此类推,直到我超过5个标签.
我们怎样才能显示4个标签(3个加"更多"标签),而不是5个?
我的猜测是:通过设置一个属性(这当然很方便!)是不可能的,因为我在文档中找不到任何内容,或者坦率地说,在其他方面建议.
如果没有实现我自己的"更多"选项卡,并且只为4个视图控制器提供标签栏控制器(最后一个是我自己的"更多"控制器),那么任何提示,技巧或提示都会受到赞赏.谢谢!
我正在实现一个UITextView,其中我只想响应文本视图的指定部分中的触摸.
我有一个手势识别器附加到视图,并且工作正常,直到我将视图设置为第一响应者,如果视图中的点击点大于X和Y值,我会这样做.
- (IBAction)textViewTapped:(UIGestureRecognizer *)sender {
CGPoint point = [sender locationOfTouch:0 inView:self.view];
NSLog(@"x ix %f, y is %f", point.x, point.y);
if (point.x > 96 && point.y > 106)
[self.myTextView becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
问题是,一旦它被设置为第一响应者,然后通过点击该文本视图外部来重新签名,我的手势识别器方法永远不会被再次调用.如果我点击没有设置第一响应者的区域,那么我点击时会多次调用我的方法.如果我设置然后辞职第一响应者,它在第一次辞职后没有响应.
- (IBAction)viewTapped:(UIGestureRecognizer *)sender {
[self.view endEditing:YES];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textViewTapped:)];
[self.myTextView addGestureRecognizer:tap];
NSArray *gestures = [self.myTextView gestureRecognizers];
NSLog(@"got %d recognizers", [gestures count]);
}
在尝试的时候,如果我在每次辞职后添加一个新的手势识别器,那么这是有效的,但显然不是一个好的解决方案.
有什么想法吗?