嗨 我可以在UIView中添加UITableView中使用的垂直字母选择器吗? 最好的问候在UIView中添加垂直字母选择器
1
A
回答
3
是的。
如果你自己创建UIView,你可以做任何你想做的事情。
在你的情况下,它甚至不那么难。一些UILabels作为子视图和touchesDidSomething:withEvent:
中的一些逻辑来确定触摸附近的标签。
还有一个委托方法,用于告知哪一部分被触摸。
我想我可能需要这样的东西,所以我决定尝试一下。
//myIndexSelectorView.m
- (id)initWithFrame:(CGRect)frame andLabels:(NSArray *)l {
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor = [UIColor lightGrayColor];
self.layer.cornerRadius = frame.size.width/2;
labels = [l retain];
NSInteger count;
for (NSString *string in labels) {
CGFloat margin = 5.0f;
CGFloat yPosition = count*(frame.size.height/[labels count]);
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(margin, yPosition, frame.size.width-2*margin, frame.size.height/[labels count])] autorelease];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor darkGrayColor];
label.textAlignment = UITextAlignmentCenter;
label.text = string;
[self addSubview:label];
count++;
}
}
return self;
}
- (void)touch:(UITouch *)touch {
CGPoint touchPosition = [touch locationInView:self];
NSInteger index = touchPosition.y/(self.bounds.size.height/[labels count]);
NSLog(@"Touched: %@", [labels objectAtIndex:index]);
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
[self touch:touch];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
[self touch:touch];
}
- (void)dealloc {
[labels release];
[super dealloc];
}
按预期工作,看起来类似的UITableView
像往常一样的指数选择,我没有检查的错误,这不应该是一个拷贝粘贴&解决方案。
0
如果你正在谈论键盘,那么它不能被定位为默认位置,原因是苹果不允许改变它的位置。希望能帮助你。谢谢。
1
您可以使用不同的UILabels,并为它们设置标签。现在检测适当的标签上的触摸,你可以使用UITapGestureRecognizer类
相关问题
- 1. MSSQL选择“垂直” - 其中
- 2. UIView垂直翻转
- 3. 如何将垂直滚动条添加到dojo选择?
- 4. 将子视图添加到选择器中的主要uiview中
- 5. 垂直选择使用jquery
- 6. 在java中垂直字符串中居中各个字母
- 7. UIView垂直翻转动画
- 8. Dimple JS添加垂直线
- 9. 添加垂直头到QTreeView
- 10. illegalStateException在垂直字段管理器内添加水平字段管理器
- 11. 如何垂直对齐:在图片中间添加文字?
- 12. 在黑莓树视图中添加垂直现场管理器
- 13. IOS:在垂直坐标处打开UIView
- 14. 在JToolbar上垂直添加JButton
- 15. 添加垂直线到plot.ts()中的R
- 16. 在fragmnet中添加日期选择器
- 17. 在jQuery选择器中添加变量?
- 18. 字母表中的选择
- 19. 我会如何去在inputAccessoryView的UI视图上垂直添加一个uiview?
- 20. 在垂直列中按字母顺序排列项目
- 21. Angular在垂直的字母列中列出我的对象
- 22. 最后一个字母垂直切IE浏览器
- 23. 如何在Android中选择复选框后在列表视图的左侧添加垂直线
- 24. 如何避免垂直拖曳选择?
- 25. 垂直对齐大写字母而不是小写字母的中间?
- 26. 在VerticalFieldManager上添加字段之间的垂直间距
- 27. 在数字/代码块上下添加垂直空间(HTML)
- 28. Bootstrap方式在字段之间添加垂直空间
- 29. 如何在typo3 6.2中添加字体大小选择器?
- 30. 垂直叠加
我认为他意味着你可以在图像中看到的字母栏在这里:http://developer.apple.com/library/ios/DOCUMENTATION/UserExperience /Conceptual/TableView_iPhone/Art/types_of_table_views.jpg而不是键盘。 – 2011-02-17 07:54:46
不,我不是在谈论小键盘,我想在UIView右侧的垂直字母表列表中使用UITableview – Aqueel 2011-02-17 07:58:36