我有一个类在视图上显示消息几秒钟然后消失。当我想在 viewController 上显示消息时,我只需基于该类创建消息对象并触发该对象。类似的东西:
myMessageClass *message = [[myMessageClass alloc] init];
[self.view addSubview:message];
[message release];
[message showText:@"Hello world"];
但现在我在 UITableViewController 类上使用此消息类。如何在表格顶部显示消息,而不是与表格本身绑定。
我试图像这样添加视图:
[self.tableView addSubview:message];
但是如果表移动,则消息将移动。我只需将消息放在固定位置(不,表头或页脚没有足够的高度来显示消息对象)。不,我不想使用alertView。
Apple有幸这样做吗?
答案 0 :(得分:1)
结帐http://code.google.com/p/toast-notifications-ios/。这听起来像是一个Android Toast。
当然,您知道通过使用带有UIViewController
的常规UITableView
子类并将其设置为数据源/委托,您可以使您的生活更轻松。除此之外,在UITableViewController类中,UITableView
= View
因此您将度过一段艰难的时光。我能想到的唯一方法是使用委托方法响应视图中的滚动动作,即-(void)scrollViewDidEndDecelerating
。
例如:
-(void)scrollViewDidEndDecelerating: (UIScrollView *)scrollView {
CGFloat offset = scrollView.contentOffset.y;
self.message.frame = CGRectMake(self.message.frame.origin.x,self.message.frame.origin.y + offset,self.message.frame.size.width,self.message.frame.size.height);
}
这可能不完全正确,但可能符合你的需要。