我有一个新的控制器定义如下:
@interface view1: UITableViewController
我已创建(在viewDidLoad中)一个图像视图(徽标图像),并将此图像视图添加为view1的子视图,但问题是表视图单元格仍然出现在此图像视图后面,如何完全分离图像视图从表格视图?
提前感谢。
答案 0 :(得分:3)
要拥有徽标类型视图,您需要通过
为tableview设置自定义标题视图- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
和
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
另一种方法是覆盖-loadView
并创建自己的视图,其中包含两个子视图,即您的imageview和一个tableview。
在第一种方法中,一旦你滚动一些徽标最终会消失。第二种方法使徽标静止。
答案 1 :(得分:2)
2个选项:
1.创建一个UIViewController来保存你的UITableViewController控制器视图和你的imageView,然后定位它们的框架,使它们不会重叠
2.将imageView添加为TableView Section Header
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIImageView* imageView = [[UIImageView alloc] initWithImage:
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"]]];
return imageView;
}
并确保您至少有一节课程:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
答案 2 :(得分:2)
您想要的是您的徽标位于桌面视图上方的顶部?如果是这样,那么您可以在-viewDidLoad
中将tableView
的{{1}}设置为您想要的视图,例如:
tableHeaderView
如果你想让它在滚动时浮在上面,那么DanZimm使用tableView.tableHeaderView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image"]]; // assuming ARC, else autorelease or put in variable first...
就是你想要的。
答案 3 :(得分:1)
尝试将其添加到:
- (void)viewDidAppear:(BOOL)animated
只有在调用viewDidLoad后才调用此方法,因此如果您想要其他所有内容,可以调用此方法或将子视图添加到:
[[[UIApplication sharedApplication] keyWindow] addSubview:yourView];
希望它可以帮到你。